替换其他数据框的值

标签 r replace dplyr

我有一个带有因子变量的数据框 (x),该变量的值由逗号分隔。我有另一个数据框 (y),其中包含对相同值的描述。现在我想用数据框 (y) 中的描述替换数据框 (x) 中的值。任何帮助将不胜感激。

例如,两个数据框如下所示

data frame (x)
    s.no    x
    1       2,5,45
    2       35,5
    3       45

data fram (y)
s.no    x   description
1       2      a
2       5      b
3       45     c
4       35     d

我需要如下输出

s.no    x
1      a,b,c
2      d,b
c       c

最佳答案

使用splitstackshape:

library(splitstackshape)

cSplit(x, 'x', ',', 'long')[setDT(y), on='x'][,.(x=paste(description, collapse=',')), s.no]

#   s.no     x
#1:    1 a,b,c
#2:    2   b,d
#3:    3     c

关于替换其他数据框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834074/

相关文章:

r - 通过根据数据框中的数字添加行和值来扩展数据框

R:使用 dplyr 过滤 data.table 失败

r - 在 R 中使用 dplyr::if_else 条件创建新列

r - 在 Shiny 的应用程序中以模式生成进度条,自动关闭

mysql - 替换最后一个 '/' 之前的所有内容,其中在一列中包含特殊网站

具有特定类/id 的 jQuery 最接近的 div

r - mutate 函数没有更新

r - Shiny 的 R 直方图

r - 使用 tidyeval 编程: tidyr::unite(col = !!col) 之后的 mutate 函数

javascript - 替换文档正文中的杂散尖括号