如何基于另一数据框列筛选数据框列?解决列不存在报错问题
解决两个数据框保留共有列的问题
你遇到的报错是因为df_1_2017里存在df_2_2018没有的列(比如Canopy_cover_mean),直接用前者的列名去筛选后者自然会出错。要实现仅保留两个数据框共有的列,步骤如下:
- 先提取两个数据框的共有列名:
common_cols <- intersect(colnames(df_1_2017), colnames(df_2_2018))
- 分别对两个数据框筛选这些共有列:
# 处理2017年的数据框 df_1_2017_filtered <- df_1_2017 %>% select(all_of(common_cols)) # 处理2018年的数据框 df_2_2018_filtered <- df_2_2018 %>% select(all_of(common_cols))
这时候df_1_2017_filtered和df_2_2018_filtered的列名、列数完全一致,就可以直接用cbind合并了。
内容的提问来源于stack exchange,提问作者Eizy
相关产品推荐
相关产品推荐

