我正在使用带有以下软件包的R版本 3.6.1:
library(data.table)
library(haven)
library(psych)
library(dplyr)
library(stringr)
library(xtable)
library(ggplot2)
library(stats)
library(car)
library(pander)
library(lm.beta)
library(lavaan)
我的代码看起来有点像这样:
dat <- as.data.frame(read_spss("w"))
d<-as.data.frame(subset(dat,select = c("q","r","s","t","u","x","y","z")))
d$x<-recode(d$x, "1='J';2='M'")
nvalid <- function(x) sum(!is.na(x))
d$a<-apply(as.matrix(d[c("q","r","s")]), 1, mean, na.rm = TRUE)
d$counts <- apply(as.matrix(d[c"q","r","s")]), 1, nvalid)
d$a<-ifelse(d$counts>=6,d$a,NA)
d$d<-as.numeric(scale(d$t))
d$e<-as.numeric(scale(d$y))
d$f<-as.numeric(scale(d$z))
d$g<-apply(as.matrix(d$d,d$e,d$f), 1, mean, na.rm = TRUE)
d$counts<-apply(as.matrix($d,d$e,d$f), 1, nvalid)
d$g<-ifelse(d$counts>=1,d$g,NA)
d$h<-recode(d$u, "1='N';2='M'")
rm(nvalid)
d<-subset(d,select=c("a","b","c","x", "y", "z"),
!is.na(d$x) &
!is.na(d$y) &
!is.na(d$z))
对于第二个“子集”调用,我得到了众所周知的错误“错误:x
并且labels
必须是同一类型”。我已经在几个线程中读到它可能与包的顺序有关,以及与其他包(Hmisc 和其他包)冲突的 Have 包的标签功能/ S3 方法。但是,我无法找到一个好的解决方法,甚至无法解决该问题。另外......我不能再运行几个基本的分析,比如 lm 甚至 rcorr 并且不断收到这个错误。
如果有人可以帮助我提示如何解决该问题,我将非常高兴。提前致谢。