将R中的两行减为一行

将R中的两行减为一行,r,R,我的情况是这样的: df<-data.frame(A=c(1, NA), B=c(NA, 2), C=c(3, NA), D=c(4, NA), E=c(NA, 5)) df A B C D E 1 1 NA 3 4 NA 2 NA 2 NA NA 5 只要结果行相等,就可以使用: dfNew <- do.call(data.frame, lapply(df, function(i) i[!is.na(i)])) 只要结果行相等,就可以使用: dfNew

我的情况是这样的:

df<-data.frame(A=c(1, NA), B=c(NA, 2), C=c(3, NA), D=c(4, NA), E=c(NA, 5))
df
   A  B  C  D  E
1  1 NA  3  4 NA
2 NA  2 NA NA  5

只要结果行相等,就可以使用:

dfNew <- do.call(data.frame, lapply(df, function(i) i[!is.na(i)]))

只要结果行相等,就可以使用:

dfNew <- do.call(data.frame, lapply(df, function(i) i[!is.na(i)]))
colSums(df,na.rm=TRUE)
有用吗?它不会执行您提到的NA检查,但根据您提供的样本数据,不确定这是否绝对必需。是否
colSums(df,NA.rm=TRUE)
有用?它不做你提到的NA检查,但根据你提供的样本数据,不确定这是否是绝对必须的。
dfNew
A B C D E
1 1 2 3 4 5