我有一个名为 data 的数据框。我想创建一个函数 f(data, collist)。此函数从数据本身获取数据和列列表,并仅从数据中返回那些在 collist 中提到的列名称不为 NA 的行。我知道可以使用 for 循环来完成,但我想不使用 for 循环来完成。
另外,请让我知道在 R 中避免循环是否通常更有效。
这是一个例子:
A B C D
1 2 NA NA
2 NA NA NA
NA 3 7 5
NA 4 2 NA
5 6 NA NA
如果 collist 包含 B 和 C,则将返回行号为 1、3、4 的缩减数据帧。原因是 B 或 C 或两者在第 2 行和第 5 行都有 NA。我想要一个函数,因为我将多次使用此操作。通过这个问题,我将学习一些新的 R 技巧,以及使我的整个程序更加优雅。谢谢。