使用来自另一个数据帧的值在R中删除变量

时间:2018-07-28 22:39:34

标签: r dataframe

我正在使用(镜像)软件包进行多维项目响应理论分析。

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。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在不了解您的数据和上下文的情况下很难解决您的问题。假设您的df.mirtsummary.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,以便社区可以轻松地为您提供帮助。