我正在试着为父亲共同体重最重的儿子建立一个数据框。请参阅下面的示例数据。
va <- c("tom", "john", "regis")
df1 <- data.frame(va)
names(df1) <- "names"
vb <- c("chris", "ned", "curt")
vc <- c("tom", "tom", "vince")
vd <- c(20, 30, 40)
df2 <- data.frame(vb, vc, vd)
names(df2) <- c("names", "father", "weight")我可以根据常用名称单独设置子集:
df2[df2$father %in% df1$names,]它返回:
names father weight
1 chris tom 20
2 ned tom 30但是我怎么能只返回这个呢?
[2] ned tom 30
发布于 2019-03-07 02:38:26
使用dplyr库,您可以执行以下操作
library(dplyr)
df2 %>%
inner_join(df1, by = c('father' = 'name')) %>%
group_by(father) %>%
filter(weight == max(weight))https://stackoverflow.com/questions/55030021
复制相似问题