在新计算机上, read_spss() 突然导致我的所有代码导致:无法组合 `..1` <character> 和 `..2` <double>

问题描述

在 R 中,read_spss() 可以完美地导入数据集,但我只是将所有代码转移到我的新 MacBook 上,现在所有代码都不起作用——它都会生成以下错误消息: 错误:无法组合 ..1..2

有谁知道为什么在我的旧计算机上运行的相同代码在我的新计算机上不起作用,以及如何让 read_spss() 像我一样工作?

我特别困惑,因为我最初的猜测是将不同的列作为不同的数据分类导入,但即使在一列内进行算术也不起作用。谢谢!

SurveyState1979 <- read_spss("07856-0001-Data.por")

table(SurveyState1979$V502) # works fine
sum(is.na(SurveyState1979$V502)) # works fine

#This type of code does not work:
Percentage_of_prisoners_no_job_1979 <- (length(na.omit(SurveyState1979$V502[SurveyState1979$V502 == "1"])))/(length(na.omit(SurveyState1979$V502))) * 100
Percentage_of_prisoners_no_job_1979

当我运行 rlang::last_error() 时,我得到这个:

不能组合 ..1..2 。 回溯:

  1. stats::na.omit(SurveyState1979$V502[SurveyState1979$V502 == "1"])
  2. vctrs:::==.vctrs_vctr(SurveyState1979$V502,"1")
  3. vctrs::vec_equal(e1,e2)
  4. vctrs:::vec_cast_common_params(!!!args,.to = .ptype,.df_fallback = DF_FALLBACK_quiet)
  5. vctrs:::vec_cast_common_opts(...,.to = .to,.opts = opts)
  6. haven:::vec_ptype2.haven_labelled.character(...)
  7. vctrs::vec_ptype2(y,x,...)
  8. haven:::vec_ptype2.character.haven_labelled(...)
  9. vctrs::vec_ptype2(x,vec_data(y),...)
  10. vctrs::vec_default_ptype2(...)
  11. vctrs::stop_incompatible_type(...)
  12. vctrs:::stop_incompatible(...)
  13. vctrs:::stop_vctrs(...)

而且,我对 dta 和 rda 文件所做的导入工作也很完美。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)