【问题标题】:Is There a R function in tidyverse to select elements of a column using codes?tidyverse 中是否有 R 函数可以使用代码选择列的元素?
【发布时间】:2019-11-22 17:58:18
【问题描述】:

我有两个数据框如下:

数据框 1

df1 <- read.table(text = " Place	Code	Name
A	12	Hogo
                  C	14	Smith
                  C	17	Rose
                  D	16	John
                  A	19	Noor
                  B	12	Hogo
                  C	16	John
                  D	19	Noor
                  A	24	Matt
                  D	23	Kim
                  ", header = TRUE)

数据框 2

df2 <- read.table(text = " Code Name
Code	Name
12	Hogo
14	Smith
17	Rose
16	John
19	Noor
24	Matt
", header = TRUE)

我想根据如下代码选择A和C

Place 	Code	Name
A	12	Hogo
C	14	Smith
C	17	Rose
C	16	John
A	19	Noor
A	24	Matt

我已经搜索过,但没有找到解决方案。非常感谢您的帮助。

【问题讨论】:

  • 您要加入吗?
  • 试试left_join(df2, df1)
  • 你不能只做 filter(df1, Place %in% c("A", "C")) 吗?
  • @User20100,即使您有两个数据框,在代码上加入 left_join() 将解决您的问题,如 akrun 上面所说的
  • @User20100:您收到此错误是因为您在df2 的定义中列出了两次列名CodeName。修正定义,错误就会消失。

标签: r dplyr tidyverse


【解决方案1】:

我认为错误正在发生,因为在 DF2 中,您有两次列名(如 Artem Sokolov 所示),并且 R 正在以因子而不是整数值的形式读取代码。

 df2 <- read.table(text = " Code Name
    12  Hogo
    14  Smith
    17  Rose
    16  John
    19  Noor
    24  Matt
    ", header = TRUE)

然后运行连接,你应该没问题。

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2022-01-23
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多