【发布时间】:2018-01-02 11:39:33
【问题描述】:
我有两个 data.frames:
data.frame1:
CustID FirstName LastName Address DOB City Phone
132 Mary K 999 Drive 1/1/2011 Chicago 888-0000
133 Mona J 222 Road 1/4/2002 NY 999-8888
188 Jack S 122 Street 9/2/2009 Washin 777-9999
None Helen L 111 Rd 1/4/2010
None John M 888 Lane 4/2/2002
None Sally K 222 Street 2/3/2002
data.frame2
CustID FirstName LastName Address DOB City
132 Mary K 999 Drive 1/1/2011 Chicago
133 Mona J 222 Road 1/4/2002 NY
188 Jack S 122 Street 9/2/2009 Washington
3338 Helen L 111 Rd 1/4/2010
882 John M 888 Lane 4/2/2002
976 Sally K 222 Street 2/3/2002
Data.frame1 在 CustID 列中包含 None。我需要用 data.frame2 中的 CustID 替换这些 None 并确保两个数据集中的 FirstName、LastName、Address、DOB 列匹配,因为某些名称可以从两个数据集中匹配但具有不同的地址和 DOB - 这些不是同样的人。 我已将这些列从因子转换为字符(不确定是否重要),并应用了 match() 函数但收到了 0 个匹配项(我知道这是错误的) 这是我的代码:
data.frame1$ID[match(c(data.framr2$'FirstName',
data.frame2$'LastName',
data.frame2$'DOB',
data.frame2$'Address'),
c(data.frame1$'FirstName',
data.frame1$'LastName',
data.frame1$'DOB',
data.frame1$'Address'))]
【问题讨论】:
标签: r