【发布时间】:2017-08-06 21:19:24
【问题描述】:
我想从数据框中删除负值,然后我需要分别计算每一行的平均值(每行正值的平均值) 我写这个是为了删除负值,但它没有用。我有这样的警告:
[<-.data.frame(*tmp*, i, j, value = NULL) 中的错误: 替换的长度为零
我该如何解决这个问题?
for (i in 1:1000) {
for(j in 1:20){
if (dframe[i,j]<=0) dframe[i,j]<-NULL
j=j+1
}
i=i+1
}
【问题讨论】:
-
data.frames 中不能有 NULL 值。您可以将它们设置为“缺失”的
NA。然后您可以使用rowSums(..., na.rm=T)忽略NA 值。 -
谢谢@MrFlick
标签: r if-statement for-loop dataframe