在R中计算cast2内深度小于1000米的salinity2均值
修正后的R代码及解释
情况1:cast2是逻辑向量(用TRUE/FALSE标记是否属于目标组)
mean(salinity2[cast2 & depth2 < 1000], na.rm = TRUE)
情况2:cast2是分组变量(如因子/字符向量,目标组名称为"cast2")
mean(salinity2[cast2 == "cast2" & depth2 < 1000], na.rm = TRUE)
错误原因说明
- 原代码里
cast2(salinity2)是错误写法:cast2是变量而非函数,不能以函数调用的方式使用,直接用cast2作为筛选条件即可。 [depth2]属于语法错误,直接写depth2 < 1000就能生成深度低于1000米的逻辑筛选条件。- 用
&同时绑定两个筛选条件,将这个逻辑索引放在salinity2[]中,即可提取符合要求的盐度值,最后用mean()计算均值。 - 加上
na.rm = TRUE是为了忽略数据中的NA值,避免计算结果返回NA,可根据你的实际数据决定是否保留该参数。
内容的提问来源于stack exchange,提问作者sunnymess
相关产品推荐
相关产品推荐

