合并两个缺少值的数据框

时间:2020-10-01 02:52:19

标签: r dataframe merge

我想合并两个数据帧(df1和df2)。下面的脚本适用于字母。但是,当我添加带有“-”的df时,它将不再起作用。我试图在df1中将“-”添加为“”,但这也失败了。

我希望脚本在遇到“-”时跳过或留空。

请注意:我需要知道空白在哪里,所以我不想从数据框中删除空白。

高度赞赏任何输入!

  df1 <- data.frame(scale = c(0.62, 0.29, -0.9, -0.74, 1.19, 0.48, -0.4, 1.38, -1.5, 1.06, 0.64, -0.78, 0.12, -0.85, -2.53, -0.18, -0.05, 1.08, 0.81, 0.26,""), 
                            aa = c('A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y','-'))
   



df2 <- df(col1 = c('-', '-' ,'E', 'S', 'P', 'V', 'F', 'A', 'F', 'P', 'K', 'A', 'L', 'D', 'L', 'E', 'T' ,'H', 'I', 'E', 'K' ,'L', 'F', 'L', 'Y'),
col2 = c('D','D','T','L','D','D','S','D','E','D','D','I','V','V','E','S','Q','D','P','P','L','-','S','W','-'))



matched_res_all <- df2 %>%
  left_join(df1, by = c(col1 = "aa")) %>% 
  left_join(df1, by = c(col2 = "aa"))

view(matched_res_all)

1 个答案:

答案 0 :(得分:1)

要使解决方案可扩展用于'col'中的许多此类df2变量,我们可以获取长格式的数据,删除存在"-"的行,然后将数据与{{1 }}。

df1