问题描述
tibble(
x = c("christmas","christmas","car","dog")
y = c("one","two","three","four")
)
tibble(
x = c("christmas","dog")
)
请注意第一个小节中的两个圣诞节。 我想使用第二个标题栏从第一列输出新列:
tibble(
x = c("christmas","four")
)
解决方法
尝试使用base R
并建立索引的%in%
解决方案:
#Code
df1[df1$x %in% df2$x,]
输出:
# A tibble: 3 x 2
x y
<chr> <chr>
1 christmas one
2 christmas two
3 dog four
使用了一些数据:
#Data 1
df1 <- structure(list(x = c("christmas","christmas","car","dog"),y = c("one","two","three","four")),row.names = c(NA,-4L),class = c("tbl_df","tbl","data.frame"))
#Data 2
df2 <- structure(list(x = c("christmas","dog")),-2L),"data.frame"))
,
如果您熟悉SQL术语:
library(dplyr)
> df1 %>% inner_join(df2)
Joining,by = "x"
# A tibble: 3 x 2
x y
<chr> <chr>
1 christmas one
2 christmas two
3 dog four
>
使用基数R
> merge(df1,df2)
x y
1 christmas one
2 christmas two
3 dog four
>