【发布时间】:2016-05-12 07:29:20
【问题描述】:
我想问一个关于 R 和子集的问题。
条件是我有 2 个数据集,内容不同但标题相同。 第二个数据集是第一个数据集的延续。
例子:
数据集A(第一个数据集)
ID Name Month
1 AAA 1
1 AAA 2
1 AAA 3
2 BBB 1
2 BBB 2
数据集B(第二个数据集)
ID Name Month
1 AAA 4
1 AAA 5
2 BBB 3
2 BBB 4
rbind 之后,第二个数据集没有附加到第一个数据集。
预期结果是:
数据集 C
ID Name Month
1 AAA 1
1 AAA 2
1 AAA 3
1 AAA 4
1 AAA 5
2 BBB 1
2 BBB 2
2 BBB 3
2 BBB 4
所以我尝试对第二个数据集进行子集化,以检查是否有任何缺失的观察结果。
test <- subset(B, B$id == 1)
上面的代码没有产生任何结果(0 obs)。
但是如果我把它改成数据集A,它会生成3个obs。
两个数据集的类型相同,我手动更改了。
至于rbind的代码是:
C <- rbind.data.frame(A, B)
有人遇到过同样的问题吗?
【问题讨论】:
-
rbind正在产生预期的输出,即数据集 C -
R 区分大小写。应该是
test <- subset(B, B$ID == 1)。 -
你在 rbind 之后得到一个错误,还是别的什么?你能给出str(A)和str(B)吗?
-
请原谅我的错字,是的,我已经尝试使用 B$ID 但仍然没有产生任何东西。在 rbind 上,我没有收到任何错误,但它只是没有附加 2 个数据集。
标签: r dataframe append subset rbind