【问题标题】:Rbind not returning expected resultRbind 不返回预期结果
【发布时间】: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 &lt;- subset(B, B$ID == 1)
  • 你在 rbind 之后得到一个错误,还是别的什么?你能给出str(A)和str(B)吗?
  • 请原谅我的错字,是的,我已经尝试使用 B$ID 但仍然没有产生任何东西。在 rbind 上,我没有收到任何错误,但它只是没有附加 2 个数据集。

标签: r dataframe append subset rbind


【解决方案1】:

我想我已经找到了答案。 显然,数据集 2 中的 ID 后面有空格。 而且我认为由于长度差异, rbind 功能无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多