R:使用一个df中的搜索键来识别第二个df中的值的功能

奥斯丁

我需要使用以下三列中列出的产品代码search_key

search_key <- data.frame('product' = c('Apple', 'Apple', 'Apple', 'Banana', 
                                      'Banana', 'Banana', 'Mango', 'Mango'),
                         'code' = c('123','000','232', '567', '222', '434',
                                    '999', '909')) 

标识以下产品中的特定产品product_list

 product_list <- data.frame('code_1' = c('123','567','999'), 
                            'code_2' = c('000', '222', NA),
                            'code_3' = c('232', NA, NA),
                            'price' = c('1.29', '2.29', '3.24'))

产生以下结果final_list

   final_list <- data.frame('code_1' = c('123','567','999'), 
                            'code_2' = c('000', '222', NA),
                            'code_3' = c('232', NA, NA),
                            'price' = c('1.29', '2.29', '3.24'),
                            'product' = c('Apple', 'Banana', 'Mango'))

我可以使用什么功能来product_list使用中的代码进行系统搜索search_key以识别并在其中创建“产品”列final_list提前致谢!

爵士乐

这是给您的一种方法。看到您的最终结果,我想您要重新安排product_list我使用melt()并以长格式转换了您的数据。然后,合并search_keycode.The最终步骤是通过做spread()tidyr封装; 该函数将长格式数据转换为宽格式数据。

library(magrittr)
library(reshape2)
library(tidyr)

melt(product_list, id.var = "price", value.name = "code") %>%
merge(search_key, by = "code") %>%
spread(key = "variable", value = "code")

#  product price code_1 code_2 code_3
#1   Apple  1.29    123    000    232
#2  Banana  2.29    567    222   <NA>
#3   Mango  3.24    999   <NA>   <NA>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

嵌套循环根据第二个df中的条件填充一个df中的值

根据其他条件,在第二个 df 中超过一个 df 中的值的次数

使用第二个熊猫df中的条件将值分配给列

如何将一个 df 中的值附加到一个表达式中的第二个列的底部?

R根据另一个中的值搜索第二个数据帧

检查pandas df中的值是否在第二个df列的列表内

熊猫内部合并两个不同大小的dfs,检查一个df的值是否在第二个df的范围内,并将其存储到另一个df中

Spark(使用pyspark)使用一个数据框(结构化流)中的值查询静态数据框,并将第二个df中的行与第一个合并

使用数据框中的值作为键来替换第二个数据框中的值

快速(向量化)从第二个DF查找一个DF中属于相同大小矩形(由两个点给定)的点的方法

熊猫根据第二个df中的值将列添加到df中

根据 R 中第二个 df 的条件求平均值

将一个 df 的值与第二个 df 的第一个值进行连接和比较,然后进行累积比较

如何使用一个数据帧中的值来计算第二个数据帧中大于或小于它的值的总数?

查找第一个值并返回列表中的第二个值

在 Array 中查找一个值并返回第二个值

在一个变量上使用循环将第二个变量的值保留在R中的第三个变量中

在将第一行与第二个 DF 中的多行进行比较后,将 DF 中的每一行映射到另一个 DF 中的一行的最佳方法是什么?

基于 R 中的第二个列表在一个列表中求和词频

使用基于第二个参数的唯一值在 python 中创建一个新字典

使用itemgetter()方法根据元组的第二个值在字典中查找键,值对

从每行中减去第一个或第二个值

如果一个值在 2 长度元组的第二个槽中

计算第二个序列中第一个序列的种子值

按2个键分组,第二个键中只有一个月

技巧,如何使用lw的偏移量获得一个.word中的第二个值

如何使用第二个 sql 的名称从第一个表中删除值

替换R中第一个出现的“:”,而不是第二个

Mongo DB-使用属性值作为查询中第二个属性的键