我正在使用(镜像)软件包进行多维项目响应理论分析。
df.mirt <- mirt(data = df, model = 1, itemtype = "gpcm")
在那之后,我使用了摘要功能来获取每个项目的负载
summary.df <- summary(df.mirt)
汇总结果显示,我的物品装载量确实很差。现在,我想从df中删除这些项目,而无需使用summary函数的加载值来逐一删除每个项目。
加载值存储在summary.df$rotF
中,条件是删除任何加载的绝对值小于0.4的项目,这是我尝试过的:
New.df <- SelectVar[, summary.df$rotF > abs(0.4)]
另一个:
df2 <- if (summary.df$rofF < abs(0.4), SelectVar)
My.vars <- names(df.mirt) %in% names(df2)
New.df <- df.mirt[!My.vars]
显然,这是一个初学者的问题,但我仍在学习R。非常感谢您的帮助。
答案 0 :(得分:0)
在不了解您的数据和上下文的情况下很难解决您的问题。假设您的df.mirt
和summary.df$rotF
具有相同的长度和顺序,则可以完成以下工作:
df <- df.mirt[abs(summary.df$rotF) > 0.4, ]
数据:
df.mirt <- data.frame(
var1 = rnorm(10),
var2 = rnorm(10),
var3 = rnorm(10)
)
summary.df <- data.frame(
rotF = rnorm(10)
)
df <- df.mirt[abs(summary.df$rotF) > 0.4, ]
请尝试提出您的问题reproducible,以便社区可以轻松地为您提供帮助。