R 如何左键连接两个数据集,但只从其中一个数据集中选择特定列?
这里有两个数据集:这是假的数据 图书馆管理员 我的水果信息 一个tibble:4x6 水果名称颜色批号类型重量年龄天数 1苹果红4春晚10 20 2梨绿4会议11 22 3香蕉黄4卡文迪什12 24 4樱桃d.红4 bing 13 16 我想使用dplyr::left_join函数将myfruit和fruit_info组合在一起,但我只需要fruit_info中的batch_number和type列 我知道我能做到: 新水果% 选择水果名称、编号、批号、类型 或 新水果% 选择颜色、重量、年龄和天数 但是,如果我在fruit_info中有更多的列,并且我必须在select函数中输入许多列名,这将非常耗时。那么,有没有更有效的方法 编辑: 我在网上看到过这样的例子: 新建水果%s选择批次号、类型、, by=水果名 但我得到一个错误,它说: 错误:数据中必须存在联接列。 “水果名”的x问题。 有人知道我做错了什么吗 如果有任何帮助,我将不胜感激:试试这个。您可以将select与contains结合使用,并在最后一个函数中添加要提取的标记,因此无需单独或按列号设置每个名称。代码如下:R 如何左键连接两个数据集,但只从其中一个数据集中选择特定列?,r,select,dplyr,left-join,tidyverse,R,Select,Dplyr,Left Join,Tidyverse,这里有两个数据集:这是假的数据 图书馆管理员 我的水果信息 一个tibble:4x6 水果名称颜色批号类型重量年龄天数 1苹果红4春晚10 20 2梨绿4会议11 22 3香蕉黄4卡文迪什12 24 4樱桃d.红4 bing 13 16 我想使用dplyr::left_join函数将myfruit和fruit_info组合在一起,但我只需要fruit_info中的batch_number和type列 我知道我能做到: 新水果% 选择水果名称、编号、批号、类型 或 新水果% 选择颜色、重量、年龄和
library(dplyr)
#Code
newdf <- left_join(myfruit, fruit_info, by = "fruit_name") %>%
select(contains(c('fruit','number','type')))
输出:
# A tibble: 4 x 4
fruit_name number batch_number type
<chr> <dbl> <dbl> <chr>
1 apple 2 4 gala
2 pear 4 4 conference
3 banana 6 4 cavendish
4 cherry 8 4 bing
这是否有效:
> myfruit %>% left_join(
+ fruit_info %>% select(1,3,4)
+ )
Joining, by = "fruit_name"
# A tibble: 4 x 4
fruit_name number batch_number type
<chr> <dbl> <dbl> <chr>
1 apple 2 4 gala
2 pear 4 4 conference
3 banana 6 4 cavendish
4 cherry 8 4 bing
>
谢谢,这很有效:但是你知道我做错了什么吗:new_myfruits%selectbatch_number,type,by=fruit_name@Karima嗨,Kari,尝试在连接外部设置选择!让我知道这是否有效@Karima或试试这个左键,我的水果,水果信息%>%selectcontainsc'fruit','number','type',by=fruit_name@Karima太棒了,这也是一个很好的问题+1谢谢你的回答:这是一个很好的方法,但不是我想要的