RStudio执行代码报错但结果正常,求问题原因排查
RStudio执行代码后出现缓存错误但数据修改成功的问题解答
你的操作本身没有错误,代码逻辑是正确的——新列small成功生成且值验证无误,说明核心的数据处理逻辑没问题。
错误原因
这两条错误提示属于RStudio内部缓存机制的小bug,和你的代码无关:
- 错误里提到的
.rs.WorkingDataEnv和.rs.CachedDataEnv是RStudio用来缓存数据预览、环境面板内容的内部环境。 - 当你修改数据框后,RStudio尝试更新这些缓存时,偶尔会出现缓存键生成异常(比如空变量名),导致报错,但这个过程不影响R全局环境里的数据修改——你的
star数据框已经在R的全局环境里完成了新列添加,和RStudio的缓存是相互独立的两个环节。
后续处理建议
- 直接忽略:只要数据结果正确,这个错误不会影响后续的代码执行。
- 重启RStudio:重启后RStudio的缓存会重置,能消除这类报错。
- 换一种写法(可选):如果不想看到报错,可以试试用
dplyr包的mutate函数生成新列,示例代码:
这种写法有时能避开RStudio的缓存bug,但不是必须的,因为原代码本身逻辑没问题。library(dplyr) star <- star %>% mutate(small = as.integer(gkclasst == 1))
内容的提问来源于stack exchange,提问作者Marlon Brando
相关产品推荐
相关产品推荐

