在R中过滤dataframe聚合数据并赋值新数据框时遇错误求助
问题解决:dplyr过滤/选择数据的正确用法
你写的filter("location")是错误用法,原因是dplyr::filter()的作用是按行筛选,必须传入能返回TRUE/FALSE的逻辑判断条件,而不是列名字符串。根据你的需求,分两种情况修正:
- 如果是想提取
location这一列数据,应该用select()函数:
filt_covid_df <- covid_df %>% select(location)
- 如果是想根据
location列的特定值筛选行(比如筛选location为"China"的记录),要写逻辑判断条件:
# 示例:筛选location等于"China"的行 filt_covid_df <- covid_df %>% filter(location == "China")
如果你的需求是做聚合统计(比如按location分组计算总和/均值),可以结合group_by()和summarise():
# 示例:按location分组,统计cases列的总和(忽略缺失值) agg_covid_df <- covid_df %>% group_by(location) %>% summarise(total_cases = sum(cases, na.rm = TRUE))
内容的提问来源于stack exchange,提问作者Sabrina
相关产品推荐
相关产品推荐

