我有一个像这样的数据框,
1 2 abc NA NA NA NA
2 3 abd be f NA NA
4 5 NA NA NA NA NA)
....................
现在,我想删除那些包含从第 3 列开始的所有 NA 的行。
我正在做这样的事情,
df <- df[ !(is.na(df$X3)) |!(is.na(df$X4)) ..........]
但是,对于大量列来说,上面的命令太麻烦了
另外,删除这些行后,我想按顺序重命名数据帧的列名称,即V1 V2 V3...
。直到现在,我一直在做,
colnames(df) <- c("V1","V2","V3"...)
这对于大量的列来说是乏味的。有什么更好的方法呢?谢谢!
Try
df <- df[rowSums(!is.na(df[, -c(1:2)])) != 0, ] # Remove rows which have NA's from column 3 on-wards
names(df) <- paste0("V", seq_along(df)) # Renaming the column names
df
## V1 V2 V3 V4 V5 V6 V7
## 1 1 2 abc <NA> <NA> NA NA
## 2 2 3 abd be f NA NA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)