在 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() 时,我得到了这个:
<error/vctrs_error_incompatible_type> 不能..1
和..2
. 回溯:
- stats::na.omit(SurveyState1979$V502[SurveyState1979$V502 == "1"])
- vctrs:::
==.vctrs_vctr
(SurveyState1979$V502, "1") - vctrs::vec_equal(e1, e2)
- vctrs:::vec_cast_common_params(!!!args, .to = .ptype, .df_fallback = DF_FALLBACK_quiet)
- vctrs:::vec_cast_common_opts(..., .to = .to, .opts = opts)
- 避风港:::vec_ptype2.haven_labelled.character(...)
- vctrs::vec_ptype2(y, x, ...)
- 避风港:::vec_ptype2.character.haven_labelled(...)
- vctrs::vec_ptype2(x, vec_data(y), ...)
- vctrs::vec_default_ptype2(...)
- vctrs::stop_incompatible_type(...)
- vctrs:::stop_incompatible(...)
- vctrs:::stop_vctrs(...)
而且,我对 dta 和 rda 文件所做的相同导入工作非常完美。