[英]Error counting non-NA entries in dataframe
我正在尝试查看有关案件的信息量是否与用户的持续时间相关。
目前,我有一个数据框df,并且尝试执行以下操作:
df["amount_known"] <-df[rowSums(!is.na(df)),]
这导致以下错误:
[<-.data.frame
(*tmp*
,“ amount_known”,value = list(status = c(3L,:替换元素1有808047行,需要808247,
是什么导致这种情况发生的(当然,我该如何解决)?
如果要在df
中的新列amount_known
中获得非NA条目的数量,可以这样操作:
df$amount_known <-rowSums(!is.na(df))
这是正在发生的事情的一个小例子:
df <- data.frame(x = 1:3, y = 66:68)
df$y[1] <- NA
df$x[3] <- NA
df
# x y
#1 1 NA
#2 2 67
#3 NA 68
rowSums(!is.na(df))
#[1] 1 2 1
这将产生一个向量,其中的非NA数为df。
现在,如果你这样做
df[rowSums(!is.na(df)),]
这将从df中选择向量c(1,2,1)
的行:
# x y
#1 1 NA
#2 2 67
#1.1 1 NA
因此,例如,第1行显示两次。
然后在您的代码中,将输出分配到df
的新列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.