基于特定条件R组合两个变量



我遇到了一个问题,这个问题应该不难,但鉴于我对R的基本知识,我陷入了困境。感谢任何帮助(尤其是dplyr的帮助:(。

假设我有两个数据帧df和df_new。现在df有20个观测值,df_new有7个观测值。我想在数据帧df中创建一个新列,这样它就可以从df_new$x中获取值。由于df比df_new有更多的观测值,因此应该根据df$let和df_new$let1之间的匹配来重复这些值。

set.seed(7)
df <- data.frame(x=runif(20),let=rep(letters[1:10],each=2))
df_new <- data.frame(x=runif(7),let1=c('a','b','b','c','d','e','e'))

我们可以加入

library(dplyr)
left_join(df, df_new, by = c('let' = 'let1'))

最新更新