我的问题是:当我将两者合并时,我想保留数据框y中的观察列。为了将其引用回原始数据帧。现在,当我执行left_join()时,我得到的观测值为空值。数据框架y中的列名为“ Obs”
我已经尝试使用不同类型的联接或重新排列x和y数据帧
我想做的简单例子:
x = data.frame(fun =c("cool", "neat" , "awesome", "neat1", "amazing", "sweet"), address = c("100", "1100", "99", "900", "55", "200"), state = c("IL", "CO", "MO", "CA", "MA", "TX"), date = c(12,3,4, 6, 8, 9))
y = data.frame(fun =c("cool", "neat" , "awesome", "super"), address = c("100", "1100", "99","55"), state = c("IL", "CO", "MO", "MA"), status = c(T,F,T, T))
y$Obs = 1:nrow(y)
x %>% left_join(y, by =c("address", "state"))
由于某种原因,上面的示例代码可用于显示观察结果,但是,当我在实际数据集上运行时,数据框x的记录约为18000条,数据框y的记录为2100条。我得到所有NA值的观察结果。即使它们基于state
和address
进行匹配。
期望的是,我有一个新的加入的数据框,该数据框带有一个观察列,它们被引用(相同)到数据框y。当我运行它时,将获得Obs的所有NA值