【发布时间】:2015-11-14 17:13:21
【问题描述】:
我有一个简单的示例数据框,其中包含两个数据列(data1 和 data2)和两个分组变量(度量 1 和 2)。措施 1 和 2 缺少数据 NA。
d <- data.frame(Measure1 = 1:2, Measure2 = 3:4, data1 = 1:10, data2 = 11:20)
d$Measure1[4]=NA
d$Measure2[8]=NA
d
Measure1 Measure2 data1 data2
1 1 3 1 11
2 2 4 2 12
3 1 3 3 13
4 NA 4 4 14
5 1 3 5 15
6 2 4 6 16
7 1 3 7 17
8 2 NA 8 18
9 1 3 9 19
10 2 4 10 20
我想创建一个包含 data1 的新变量 (d$new),但仅限于 Measure1 等于 1 的行。我尝试了这个并收到以下错误:
d$new[d$Measure1 == 1] = d$data1[d$Measure1 == 1]
d$new[d$Measure1 == 1] = d$data1[d$Measure1 == 1] 中的错误:NA 不允许在下标作业中使用
接下来,我想将 data2 中的数据添加到 d$new 中,仅用于 Measure2 等于 4 的行。但是,Measure1 和 Measure2 中缺失的数据会导致数据子集化并将其分配给新变量时出现问题。我可以想到一些过于复杂的解决方案,但我敢肯定有一种我没有想到的简单方法。感谢您的帮助!
【问题讨论】:
标签: r merge dataframe subset missing-data