R 插入具有匹配值的列
我有两个数据帧。第一个是工作:R 插入具有匹配值的列,r,match,R,Match,我有两个数据帧。第一个是工作: Jobs <- data.frame(Company = c("A","B"), Name = c("Peter","Peter"), Job = c("CEO","Member of the Board")) Jobs您要执行的操作通常称为“连接”、“合并”或“附加”数据。如果你不能做到这一点,R就不会是一门很好的语言 匹配的字段称为“键”。在本例中,R假设您的密钥是公司,因为这是它们唯一的共同字段 Jobs <- data.frame(Compa
Jobs <- data.frame(Company = c("A","B"), Name = c("Peter","Peter"), Job = c("CEO","Member of the Board"))
Jobs您要执行的操作通常称为“连接”、“合并”或“附加”数据。如果你不能做到这一点,R就不会是一门很好的语言
匹配的字段称为“键”。在本例中,R假设您的密钥是公司
,因为这是它们唯一的共同字段
Jobs <- data.frame(Company = c("A","B"), Name = c("Peter","Peter"), Job = c("CEO","Member of the Board"))
Media_Appearence <- data.frame(Company = c("A","A","B","B","A","A","A","A"),Name = c("Peter","Peter","Peter","Peter","Peter","Peter","Peter","Peter"))
merge(Media_Appearence, Jobs)
您可能已经注意到,您的数据已为您排序。它是按默认键排序的,在本例中,默认键是Company
您要做的通常称为“连接”、“合并”或“附加”数据。如果你不能做到这一点,R就不会是一门很好的语言
匹配的字段称为“键”。在本例中,R假设您的密钥是公司
,因为这是它们唯一的共同字段
Jobs <- data.frame(Company = c("A","B"), Name = c("Peter","Peter"), Job = c("CEO","Member of the Board"))
Media_Appearence <- data.frame(Company = c("A","A","B","B","A","A","A","A"),Name = c("Peter","Peter","Peter","Peter","Peter","Peter","Peter","Peter"))
merge(Media_Appearence, Jobs)
您可能已经注意到,您的数据已为您排序。它是按默认键排序的,在本例中,默认键是Company
使用match不会更改data.frame的原始顺序
Media_Appearence$Job=Jobs$Job[match(Media_Appearence$Company, Jobs$Company)]
Media_Appearence
Company Name Job
1 A Peter CEO
2 A Peter CEO
3 B Peter Member of the Board
4 B Peter Member of the Board
5 A Peter CEO
6 A Peter CEO
7 A Peter CEO
8 A Peter CEO
通过使用match,将不会更改data.frame的原始顺序
Media_Appearence$Job=Jobs$Job[match(Media_Appearence$Company, Jobs$Company)]
Media_Appearence
Company Name Job
1 A Peter CEO
2 A Peter CEO
3 B Peter Member of the Board
4 B Peter Member of the Board
5 A Peter CEO
6 A Peter CEO
7 A Peter CEO
8 A Peter CEO
我注意到你问的任何问题都没有接受任何答案。虽然接受答案不是强制性的,但如果其中一个答案对您有效,那么接受答案被认为是良好的做法。这将为未来的读者提供有关解决方案价值的线索。另请参阅此帮助页:我将对它们进行标记,tksI注意到您没有接受任何问题的答案。虽然接受答案不是强制性的,但如果其中一个答案对您有效,那么接受答案被认为是良好的做法。这将为未来的读者提供有关解决方案价值的线索。另请参见此帮助页:我将标记它们,TKST这是另一个好方法。我想知道列名是否有Peter以外的其他名称。这会起作用。@Malakia我通常要做的是将多个列粘贴到一个列中,用于您的案例,Jobs['New']=paste(Jobs$Company,Jobs$name)这是另一个好方法。我想知道列名是否有Peter以外的其他名称。它会起作用。@Malakia我通常做的是将多个列粘贴到一个列上,用于您的案例,Jobs['New']=paste(Jobs$Company,Jobs$name)
Media_Appearence$Job=Jobs$Job[match(Media_Appearence$Company, Jobs$Company)]
Media_Appearence
Company Name Job
1 A Peter CEO
2 A Peter CEO
3 B Peter Member of the Board
4 B Peter Member of the Board
5 A Peter CEO
6 A Peter CEO
7 A Peter CEO
8 A Peter CEO