作者abc2090614 (casperxdd)
看板R_Language
标题Re: [问题] 用两个档案找相同的值
时间Sun Nov 20 12:46:35 2016
※ 引述《hirdaramani (Hirdaramani)》之铭言:
:
: [问题类型]:
:
: A档案是name,B档案有name和age
: 想要知道当发现A某个name的时候 可以去B的data.frame找到他的age
: [程式范例]:
: name <- c("Joe", "Bob", "Vicky")
: age <- c("28", "26", "34")
: data <- data.frame(name, age)
: name_data <-c("Joe", "Bob", "Vicky")
用dplyr的SQL式写法 我把你的data跟name_data改成你所想的A, B
data.table请其他人写吧
B <- data
A <- data.frame(name_data)
age_match <- dplyr::left_join(A, B, by=c("name_data" = "name"))
这样age_match里会有A的name加上所有对应到B中的age, 重复的会全部列出来, 没有就NA
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 68.52.13.65
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1479617197.A.A7F.html
※ 编辑: abc2090614 (68.52.13.65), 11/20/2016 12:47:15
1F:推 hirdaramani: 谢谢,那请教当name=bob,要怎麽叫出他的age 我好蠢~ 11/20 13:07
2F:→ hirdaramani: 麻烦你了 11/20 13:07
3F:→ abc2090614: age_match %>% dplyr::filter(name=="Bob") 11/20 13:25
4F:推 hirdaramani: 谢谢~我立刻研究 麻烦了~ 11/20 13:29