0
创建变量我有三列代表三个重复测量的数据帧:多个条件语句以作为R
IDPupil 1 2 3
1 150.5 151.0 150.6
2 156.3 156.5
3 145.7 146.0
4 151.4 151.6
5 150.0 149.5 150.4
我想通过三个的计算行平均(或中值)来创建一个新的变量测量基于以下内容:
a)如果col 1和col 2> 0.4之间的差异并且col 3中有值,则计算行中位数。 b)如果col 1和col 2> 0.4之间的差异并且col 3中没有值,则打印“NULL” c)在所有其他情况下(即col 1和2之间的差异为< 0.4)计算行平均值。
我曾尝试以下:
Hdiff= hwdata$Height1 - hwdata$Height2
Hdiff2 = abs(Hdiff)
Hdiff2
MeanH = if(Hdiff2 > 0.4 && hwdata$Height3 > 0) {
rowMedians(hwdata[, c("Height1", "Height2", "Height3")], na.rm = TRUE)
} else if(Hdiff2 > 0.4 & hwdata$Height3 == 0)
MeanH = "NULL"
}else rowMeans (hwdata [, c("Height1", "Height2", "Height3")], na.rm = TRUE)
{
我得到的错误:
'Error: could not find function "rowMedians"'
和
'Error: unexpected '}' in "}"'
[R =经验1周。有没有更简洁的方式来做到这一点?
你可以用'ifelse'和'申请';您需要提供样本数据。 – Metrics
提供了好的样本数据。 – Ash
'}'错误是因为你用括号关闭了第二个'if',但没有打开它。 –