根据另一个数据框替换一个数据框中的列中的多个值

拉西夫·阿杰瓦德(Rasif Ajwad)

一个新手。我有一个genes包含两列的数据框IndexName

Index Name 1 A 2 B 3 C 4 D

另一个数据框similarity包含6-7列,其中一列Members包含Index用空格分隔的不同值,例如:

Members 1 3 5 7 3 7 6 9 2

我想做的是Names通过匹配index数据帧中来替换索引genes如果在上找不到索引genes,我只是想放置NA它的位置。

因此,根据示例,我想要的输出是:

Members A C NA NA C NA NA NA B

阿克伦

我们可以用chartrgsub

df2$Members <- gsub("\\d+", "NA", chartr(paste(df1$Index, collapse=""), 
                   paste(df1$Name, collapse=""), df2$Members))

df2
#    Members
#1 A C NA NA
#2      C NA
#3   NA NA B

或另一种方法是转到split“成员”列,然后根据来自第一个数据集('df1')的键/值对进行匹配

df2$Members <- sapply(strsplit(df2$Members, "\\s+"), function(x) 
                  paste(setNames(df1$Name, df1$Index)[x], collapse=" "))

数据

df1 <- structure(list(Index = 1:4, Name = c("A", "B", "C", "D")), .Names = c("Index", 
"Name"), class = "data.frame", row.names = c(NA, -4L))

df2 <-structure(list(Members = c("1 3 5 7", "3 7", "6 9 2")),
  .Names = "Members", class = "data.frame", row.names = c(NA, -3L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一个数据框替换一个数据框中的Value

从另一个数据框中替换一个数据框中的值

用另一个数据框的值替换一个数据框的列值

用另一个数据框中同名列的平均值替换一个数据框中的零值列

用另一个数据框的值替换一个数据框的列中的值

使用查找另一个数据框替换一个数据框中的文本

根据另一个数据框替换列中的值

用另一个数据框(不是合并)引用的值替换/替换一个数据框中的所有值

用另一个数据框的值替换一个值

用另一个数据框中的值替换一个数据框中的值-Regex

用另一个数据框中的值替换一个数据框中的逗号分隔值

给定多个列作为键,用另一个数据框中的行替换一个数据框中的行

熊猫用另一个数据框的值替换一个数据框的值

根据另一个数据框计算数据框中的列值

用R中另一个数据框的值合并和替换一个数据框的值

如何用所有列的另一个数据框中的匹配行替换一个数据框中的行

根据另一个数据框中的匹配ID替换数据框列值

如何根据另一个数据框条件替换数据框列中的值

用熊猫中另一个数据框的列替换一个数据框的列

根据另一数据框熊猫的列中的值替换一个数据框的行中的值

根据另一个数据集中的列值在一个数据框中创建列

pandas:如果该值在第二个数据框中,则根据另一个数据框中的条件替换列中的值

根据来自另一个数据框的转换表替换列中的字符

熊猫:根据条件将数据框中的值替换为另一个数据框中的值

大熊猫:基于两列,用另一个数据框的值替换一个数据框的值

根据另一个数据框的列值替换两个数据框列的值

根据另一个数据框中的日期过滤数据框中的值

根据熊猫中的另一个数据框更改列中的值

根据列中的值填充另一个数据框的值