R Dataframe未存储修改后数据 查看df11、df22未显示更新结果
问题解决方案
1. 优先确认代码完整执行无报错
- 选中所有代码后再运行,检查RStudio控制台是否有报错提示:
- 确认
lubridate、dplyr、tidyr三个包安装且加载成功,没有依赖缺失报错 - 检查是否有函数命名冲突提示,比如
mutate被其他包覆盖的警告
- 确认
2. 验证数据实际修改状态
在控制台输入print(df11)和print(df22)查看输出结果:
- 若输出结果已经符合预期(df11拆分出Date字段、df22的EncounterDate变为日期时间格式),说明是RStudio数据查看器的缓存问题:
- 先删除环境面板中的df11、df22对象,重新运行赋值代码即可
- 若仍未解决,重启R会话后再运行代码
- 若输出结果和原始df1、df2一致,说明代码未生效,修改代码为显式指定包名的版本,避免命名冲突:
# 处理df1为df11 df11 <- df1 %>% tidyr::separate(DateTime, c("Date", "Time"), sep=" ") %>% dplyr::mutate(Date = lubridate::as_datetime(lubridate::mdy(Date))) %>% dplyr::select(-Time) # 处理df2为df22(简化重复操作) df22 <- df2 %>% dplyr::mutate(EncounterDate = lubridate::as_datetime(lubridate::mdy(EncounterDate)))
3. 补充优化建议
- 无需额外安装
Rcpp包,除非你有其他依赖需求 - 不用强制转换为tibble,原生data.frame在RStudio查看器中兼容性更好
- 不需要每次运行都执行
install.packages()语句,包安装一次即可,后续只需要用library()加载
内容的提问来源于stack exchange,提问作者Ash S
相关产品推荐
相关产品推荐

