在下面的df中,有两个不同深度的地点.我试图找到每个站点的最低温度,但当我减go min时,我只得到一个值(整个DF的最低温度).我try 了by=site,但我仍然只得到了一个值.我如何才能获得每个站点的最小值?

 site <- c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)

 temp <- c(1, 0.8, -1, -2, -2.5, -3, -2.3, -2.2, -2, -1.5, 1.2, 1.1, -0.6, -1, -1.8, -2.3, -2.5, -2.2, -2, -1)

depth <- c(1, 3, 5, 6, 7, 9, 10, 13, 14, 16, 2, 4, 6, 8, 9, 10, 13, 14, 15, 16)

df <- as.data.frame(cbind(site, temp, depth))

minT <- subset(df, temp == min(temp), by = site)

推荐答案

使用dplyr::summarise,你可以做到:

df <- data.frame(site, temp, depth)

library(dplyr, warn = FALSE)

df |>
  summarise(min_temp = min(temp), .by = site)
#>   site min_temp
#> 1    1     -3.0
#> 2    2     -2.5

或使用aggregate:

df |> 
  aggregate(
    temp ~ site, FUN = min
  )
#>   site temp
#> 1    1 -3.0
#> 2    2 -2.5

R相关问答推荐

如何创建构成多个独立列条目列表的收件箱框列?

lightgbm发动机在tidymmodels中的L1正则化""

S用事件解决物质平衡问题

制作等距离的线串副本

2个Rscript.exe可执行文件有什么区别?

将重复项转换为NA

如何在PackageStatus()中列出&q;不可用的包&q;?

根据1个变量绘制 colored颜色 发散的 map ,由另一个变量绘制饱和度,ggplot2不工作

为什么我使用geom_density的绘图不能到达x轴?

过滤名称以特定字符串开头的文件

随机森林的带Shap值的蜂群图

R:如果为NA,则根据条件,使用列名模式将缺少的值替换为另一列中的值

我们如何在R中透视数据并在之后添加计算

在纵向数据集中创建新行

SHILINY中DT列的条件着色

防止正则表达式覆盖以前的语句

在同一单元格中创建包含整数和百分比的交叉表

R try Catch in the loop-跳过缺少的值并创建一个DF,显示跳过的内容

将Geojson保存为R中的shapefile

如何准确地指出Read_delim所面临的问题?