【发布时间】:2017-03-26 19:53:22
【问题描述】:
这里有两个dfs 示例数据:
df1
ID First.seen Last.seen
A10 2015-09-07 2015-09-16
A11 2015-09-07 2015-09-19
df2
ID First_seen Last_seen
A1 2015-09-07 0
A10 2015-09-07 0
如果ID 在两个dfs 中通用,我想填写df2$Last_seen。请注意,在实际数据中,我在两个 dfs 中都有多个 ID。我试过 for 循环,但我只得到数值:
for (i in 1:nrow(df2)){
if (df2$ID[i] %in% df1$ID) {
df2$Last_seen[i] <- df1$Last.seen[df1$ID == df2$ID[i]]
}else{
df2$Last_seen[i] <- 0
}
}
我找到了this 对使用seq_along 的同一问题的回答,但是当我应用此代码时,我得到了df1$Last_seen[i] == 1 的结果:
for (i in seq_along(1:nrow(df2))){
if (df2$ID[i] %in% df1$ID) {
df2$Last_seen[i] <- df1$Last.seen[df1$ID == df2$ID[i]]
}else{
df2$Last_seen[i] <- 0
}
}
有什么正确使用方法的建议吗?
【问题讨论】: