我有一个包含大量NA的data.frame,但是每列没有不同的长度,我希望有一个相同的数据帧,但没有NA。 所以当我在做的时候:
for (i in 1:length(df[,1]))
(df[,i]<-df[,i][!is.na(df[,i])])
答案:
Error in `[<-.data.frame`(`*tmp*`, , i, value = c(2696L, 2696L, 2640L, :
有人知道该怎么做吗?
答案 0 :(得分:0)
您无法在问题中的代码中执行尝试,因为data.frame是具有单个键限制的列表结构:列表中的所有向量(或变量)必须具有相同的长度。您的代码正在尝试创建不同长度的向量,这是不允许的。
您可能只需要complete.cases
功能:
complete.cases(df)
这将删除任何列中具有任何NA
值的所有行。