类型为closure的对象不是子集表,但返回结果

时间:2015-08-01 22:30:51

标签: r

我已经看过很多关于这个主题的帖子,并且在每种情况下我都看到错误是由于尝试子集不是子集的东西引起的。然而,当我运行此代码时,它的每个部分都是子集。为什么会这样?

df<-NULL
df$col1<-c(1,2,3)
df$extraversion<-c(4,3,5)
df<-as.data.frame(df)
lm(df[,1]~df$extraversion) #works perfectly
lm(paste0("df[,1]~df$extraversion")) #Error in df[, 1] : object of type 'closure' is not subsettable
df[,1] #returns: [1] 1 2 3
df$extraversion #returns: [1] 4 3 5

1 个答案:

答案 0 :(得分:2)

您需要as.formula()。尝试:

lm(as.formula(paste0("df[,1]~df$extraversion")))