【发布时间】:2023-12-24 06:42:01
【问题描述】:
我无法解决这个问题。
我有一个不完整的数据集(许多行和变量),其中一个因素指定所有其他变量是预先还是后期。我需要获取所有变量前后的汇总统计数据,仅包括前后值不为 NA 的行。
如果每个变量的集合分别不完整,我正在尝试找到一种方法用 NA 替换现有值。
以下是我想要实现的一个简单示例:
df = data.frame(
id = c(1,1,2,2),
myfactor = as.factor(c(1,2,1,2)),
var2change = c(10,10,NA,20),
var3change = c(5,10,15,20),
var4change = c(NA,2,3,8)
)
导致:
id myfactor var2change var3change var4change
1 1 1 10 5 NA
2 1 2 10 10 2
3 2 1 NA 15 3
4 2 2 20 20 8
我想要的输出是:
id myfactor var2change var3change var4change
1 1 1 10 5 NA
2 1 2 10 10 NA
3 2 1 NA 15 3
4 2 2 NA 20 8
我要处理的变量不止一个,而且对于每个变量,该集合以不同的方式不完整。我觉得这可以通过巧妙地使用 plyr / tidyr 包中的现有功能来实现,但我找不到一种优雅的方式来将这些概念应用于我的问题。
任何帮助将不胜感激。
【问题讨论】:
-
我不确定我是否清楚地理解了这个问题。您能否将列数增加到 4-5 并显示示例和预期输出。还要解释一下改值到
NA的逻辑。 -
好的,我已经编辑了问题。逻辑是我已经配对了两个时间点(或上面的两个 myfactor)的数据,我希望汇总统计信息只包含我在两个时间点拥有的数据。