【问题标题】:How make R ignore undefined columns selected error message in cbind()?如何让 R 在 cbind() 中忽略未定义列选择的错误消息?
【发布时间】:2021-03-15 17:20:46
【问题描述】:

我有一个数据框 A,并且想将 A 中存在的列与 A 中不存在的列合并。我想让 cbind 忽略那些不存在的列,而 cbind() 只忽略现有的列。类似于 cbind(A$Key.Name,A$Dummy1,A$Dummy2) 的东西,但保留数据的数据框类和列名。

A<-fromJSON('[{"Key":{"Name":"Victor","ID":61426},"Type":"Unknown","Domain":"Cooking"  }]',
            flatten = T)

names(A)
cbind(A["Key.Name"],A["Dummy1"],A["Dummy2"])

【问题讨论】:

标签: r


【解决方案1】:

使用intersect 仅选择数据中存在的那些列。

cols_to_select <- c('Key.Name', 'Dummy1', 'Dummy2')
result <- A[intersect(names(A), cols_to_select)]

dplyr 中,您可以使用any_of

library(dplyr)
A %>% select(any_of(cols_to_select))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 2019-04-18
    • 2016-12-03
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多