VSCode中R扩展Bug:R代码发送至终端时被截断
VSCode中R代码运行时被截断,变量全为NA的问题排查
环境信息
- VSCode版本:1.97.2
- R版本:4.3.3
- 核心扩展:R Extension Pack(Yuki Ueda)、R(REditorSupport)
- 当前启用扩展:GitHub Copilot、GitHub Copilot Chat、Live Preview、R、R Extension Pack、vscode-pandoc
问题描述
此前代码运行完全正常,突然出现异常:终端内所有代码行被截断(末尾显示$),执行后用于统计分析的变量列全为NA值。代码原本用于将原始文件中的字符值(如"a. Noticed a clear reduction in my stress during the work shift.")转换为可用于统计的因子变量,再按分组汇总统计。
原始代码片段
# Convert to categorical variables qual_fractal_staff$Q12_1 <- factor(qual_fractal_staff$`Q12-1`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_2 <- factor(qual_fractal_staff$`Q12-2`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_3 <- factor(qual_fractal_staff$`Q12-3`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_4 <- factor(qual_fractal_staff$`Q12-4`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_5 <- factor(qual_fractal_staff$`Q12-5`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_6 <- factor(qual_fractal_staff$`Q12-6`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q12_7 <- factor(qual_fractal_staff$`Q12-7`, levels = c("Yes", "No", NA)) qual_fractal_staff$Q13 <- factor(qual_fractal_staff$Q13, levels = c("a) Very often", "b) Sometimes", "c) Rarely", "d) Not at all")) qual_fractal_staff$Q14 <- factor(qual_fractal_staff$Q14, levels = c("a. Noticed a clear reduction in my stress during the work shift.", "b. Noticed a slight reduction in my stress during the work shift.", "c. Didn’t notice any particular impact on my stress during the work shift.", "d. Noticed a slight increase of stress during my work shift.", "e. Noticed a pronounced increase in stress during my work shift.")) # Summarise by mural_group. qual_fractal_staff_summary <- qual_fractal_staff %>% group_by(mural_group) %>% summarize( Q12_1_yes = sum(`Q12-1` == "Yes", na.rm = TRUE), Q12_1_no = sum(`Q12-1` == "No", na.rm = TRUE), Q12_2_yes = sum(`Q12-2` == "Yes", na.rm = TRUE), Q12_2_no = sum(`Q12-2` == "No", na.rm = TRUE), Q12_3_yes = sum(`Q12-3` == "Yes", na.rm = TRUE), Q12_3_no = sum(`Q12-3` == "No", na.rm = TRUE), Q12_4_yes = sum(`Q12-4` == "Yes", na.rm = TRUE), Q12_4_no = sum(`Q12-4` == "No", na.rm = TRUE), Q12_5_yes = sum(`Q12-5` == "Yes", na.rm = TRUE), Q12_5_no = sum(`Q12-5` == "No", na.rm = TRUE), Q12_6_yes = sum(`Q12-6` == "Yes", na.rm = TRUE), Q12_6_no = sum(`Q12-6` == "No", na.rm = TRUE), Q12_7_yes = sum(`Q12-7` == "Yes", na.rm = TRUE), Q12_7_no = sum(`Q12-7` == "No", na.rm = TRUE), Q13_a = sum(Q13 == "a) Very often", na.rm = TRUE), Q13_b = sum(Q13 == "b) Sometimes", na.rm = TRUE), Q13_c = sum(Q13 == "c) Rarely", na.rm = TRUE), Q13_d = sum(Q13 == "d) Not at all", na.rm = TRUE), Q14_a = sum(Q14 == "a. Noticed a clear reduction in my stress during the work shift.", na.rm = TRUE), Q14_b = sum(Q14 == "b. Noticed a slight reduction in my stress during the work shift.", na.rm = TRUE), Q14_c = sum(Q14 == "c. Didn’t notice any particular impact on my stress during the work shift.", na.rm = TRUE), Q14_d = sum(Q14 == "d. Noticed a slight increase of stress during my work shift.", na.rm = TRUE), Q14_e = sum(Q14 == "e. Noticed a pronounced increase in stress during my work shift.", na.rm = TRUE) )
注:修正了代码中%>的拼写错误,应为%>%
终端错误输出
> # Convert to categorical variables > > qual_fractal_staff$Q12_1 <- factor(qual_fractal_staff$`Q12-1`, levels = c("Y$ > qual_fractal_staff$Q12_2 <- factor(qual_fractal_staff$`Q12-2`, levels = c("Y$ > qual_fractal_staff$Q12_3 <- factor(qual_fractal_staff$`Q12-3`, levels = c("Y$ > qual_fractal_staff$Q12_4 <- factor(qual_fractal_staff$`Q12-4`, levels = c("Y$ > qual_fractal_staff$Q12_5 <- factor(qual_fractal_staff$`Q12-5`, levels = c("Y$ > qual_fractal_staff$Q12_6 <- factor(qual_fractal_staff$`Q12-6`, levels = c("Y$ > qual_fractal_staff$Q12_7 <- factor(qual_fractal_staff$`Q12-7`, levels = c("Y$ > qual_fractal_staff$Q13 <- factor(qual_fractal_staff$Q13, levels = c("a) Very$ > qual_fractal_staff$Q14 <- factor(qual_fractal_staff$Q14, levels = c("a. Noti$ + "b. Not$ + "c. Did$ + "d. Not$ + "e. Not$ > > > # Summarise by mural_group. > > qual_fractal_staff_summary <- qual_fractal_staff %> + group_by(mural_group) %> + summarize( + Q12_1_yes = sum(`Q12-1` == "Yes", na.rm = TRUE), + Q12_1_no = sum(`Q12-1` == "No", na.rm = TRUE), + Q12_2_yes = sum(`Q12-2` == "Yes", na.rm = TRUE), + Q12_2_no = sum(`Q12-2` == "No", na.rm = TRUE), + Q12_3_yes = sum(`Q12-3` == "Yes", na.rm = TRUE), + Q12_3_no = sum(`Q12-3` == "No", na.rm = TRUE), + Q12_4_yes = sum(`Q12-4` == "Yes", na.rm = TRUE), + Q12_4_no = sum(`Q12-4` == "No", na.rm = TRUE), + Q12_5_yes = sum(`Q12-5` == "Yes", na.rm = TRUE), + Q12_5_no = sum(`Q12-5` == "No", na.rm = TRUE), + Q12_6_yes = sum(`Q12-6` == "Yes", na.rm = TRUE), + Q12_6_no = sum(`Q12-6` == "No", na.rm = TRUE), + Q12_7_yes = sum(`Q12-7` == "Yes", na.rm = TRUE), + Q12_7_no = sum(`Q12-7` == "No", na.rm = TRUE), + Q13_a = sum(Q13 == "a) Very often", na.rm = TRUE), + Q13_b = sum(Q13 == "b) Sometimes", na.rm = TRUE), + Q13_c = sum(Q13 == "c) Rarely", na.rm = TRUE), + Q13_d = sum(Q13 == "d) Not at all", na.rm = TRUE), + Q14_a = sum(Q14 == "a. Noticed a clear reduction in my stress during the$ + Q14_b = sum(Q14 == "b. Noticed a slight reduction in my stress during th$ + Q14_c = sum(Q14 == "c. Didn’t notice any particular impact on my stress $ + Q14_d = sum(Q14 == "d. Noticed a slight increase of stress during my wor$ + Q14_e = sum(Q14 == "e. Noticed a pronounced increase in stress during my$ + ) >
已尝试的解决方法
- 更新所有扩展至最新版本
- 切换
r.bracketedPaste和r.alwaysUseActiveTerminal设置 - 禁用Quarto扩展
以上操作均未解决问题。
提问
该问题是由VSCode本身还是扩展导致的?
内容的提问来源于stack exchange,提问作者user24657996
相关产品推荐
相关产品推荐

