r - 用上面行中的值填写数据框

标签 r dataframe

说我有一个像这样的数据框:

ID,  ID_2, FIRST, VALUE
-----------------------
'a', 'aa', TRUE, 2
'a', 'ab', FALSE, NA
'a', 'ac', FALSE, NA
'b', 'aa', TRUE, 5
'b', 'ab', FALSE, NA


因此,每个ID仅将FIRST = TRUE设置一次。 ID_2可能在ID之间重复,但不是必须重复。

如何将每个ID的第一行中的数字放入该ID的所有行中,以使VALUE列变为2、2、2、5、5?

我知道我可以使用for循环简单地遍历所有ID,但是我正在寻找一种更有效的方法。

最佳答案

如果您只需要结转VALUE列中的值,那么我认为您可以使用zoo包中的na.lofc()函数。这是一个例子:

a<-c(1,NA,NA,2,NA)
na.locf(a)
[1] 1 1 1 2 2

关于r - 用上面行中的值填写数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554741/

相关文章:

r - install.packages : cannot remove prior installation of package ‘DBI’ 中出现错误

r - 在 R 中构建 N 叉树

r - 在 for 循环中对表进行子集化并将其保存为 csv

python - 如何在 pandas 数据框中取消堆叠字典列?

python - 当在给定行中找到其中一个值时,使用字典的键作为行值的新 DataFrame 列

python - 从给定日期的时间序列数据中选择所有行(按时间戳)

R data.frame 到表格图像以进行演示

R:如何应用为多列输出数据帧的函数(使用 dplyr)?

在 r 中使用 rename_at 从列名中删除后缀

python - 避免遍历 Pandas 中的每一行以进行自定义聚合