R 在数据帧中抑制NA值时,如何避免长度错误?

R 在数据帧中抑制NA值时,如何避免长度错误?,r,R,我有一个data.frame,有很多NAs,但没有NAs,每列的长度都不一样,我希望有一个相同的data frame,但没有NAs。 所以当我在做: for (i in 1:length(df[,1])) (df[,i]<-df[,i][!is.na(df[,i])]) for(1中的i:长度(df[,1])) (df[,i]您无法在问题中的代码中执行您试图执行的操作,因为data.frame是一个具有单键限制的列表结构:列表中的所有向量(或变量)必须具有相同的长度。您的

我有一个data.frame,有很多NAs,但没有NAs,每列的长度都不一样,我希望有一个相同的data frame,但没有NAs。 所以当我在做:

  for (i in 1:length(df[,1]))
      (df[,i]<-df[,i][!is.na(df[,i])])
for(1中的i:长度(df[,1]))

(df[,i]您无法在问题中的代码中执行您试图执行的操作,因为data.frame是一个具有单键限制的列表结构:列表中的所有向量(或变量)必须具有相同的长度。您的代码试图创建具有不同长度的向量,这是不允许的

您可能只需要完成
功能。cases
功能:

complete.cases(df)
这将删除任何列中具有任何
NA
值的所有行

complete.cases(df)