R - 合并许多列并留下几个

R - Merge many Columns and leave several

我想合并这样的结构,删除 NA: 我们有 8 "Blocks" 个数据,每个数据有 10 个变量。对于每个参与者,只有这 8 个块中的一个被完整回答,即 10 个有效变量/参与者。 --> 80 列

VP Var1 Var 10 Var 11 Var 20 Var 21 Var30 .........

1 2 3 NA NA NA NA

2 NA NA 3 5 NA NA

3 NA NA NA NA 5 4

最终版本应该是这样的 --> 10 列

VP Var1 Var 2 Var 3 Var4 ... Var10

1 3 ......

2 3 5 ......

3 4 …………

解决此问题的一种方法是在对 apply 函数的调用中插入一个要应用于每一行的函数。如果需要,您可以将 apply 调用包装在 data.frame 调用中。

new.dat <- apply(dat, 1, function(x) return(x[!is.na(x)]))