如何在R中改变一个框架的类?[关闭]

13z8s7eq  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(102)

**已关闭。**此问题是not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个错字或一个无法再重现的问题引起的。虽然类似的问题可能在这里是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
我想用给定的数组(IS_data)作为公式执行lm(),但我一直得到一个错误:

Error in model.frame.default(formula = IS_data ~ ., data = OTU_data, drop.unused.levels = TRUE) : 
  invalid type (list) for variable 'IS_data'

字符串
该IS_data框架具有以下结构和模式:

str(IS_data)
'data.frame':   37 obs. of  2 variables:
 $ X            : chr  "MA1" "MA2" "QU1" "QU2" ...
 $ IS3_corrected: num  8.668615 9.2823 0.000445 0.028362 0.035287 ...
mode(IS_data)
"list"

我已经尝试取消列出的框架,但输出是没有用的,我不知道该怎么做来解决这个问题,我在R的一种菜鸟,所以我有点挣扎。有没有办法改变模式的“IS_data”,使我可以执行分析?

mgdq6dx1

mgdq6dx11#

我猜IS_data$X包含一些特性/变量,您已经将其分离出来以包含在回归中。
假设我们有一个这样的公式,其中我们知道右手边:

lm(formula = mpg ~ wt + disp, data = mtcars)

字符串
我们可以从一个data.frame中重新创建:

IS_data <- data.frame(
  X = c("wt", "disp"), 
  IS_3_corrected = c(0.1, 42))


公式的右边可以用paste(IS_data$X, collapse = " + ")创建:

[1] "wt + disp"


我们可以把它代入原始公式:

lm(formula = paste0("mpg ~ ", paste(IS_data$X, collapse = " + ")),
   data = mtcars)

相关问题