【问题标题】:R refering to variable by stringR通过字符串引用变量
【发布时间】:2018-10-22 11:56:17
【问题描述】:

大家好,我有一些数据,想根据这段代码自动运行一些回归:

library(dplyr)
library(plyr)

set.seed(123)
v1<-c(rnorm(340,0,1))
v2<-c(rnorm(340,1,1))
v3<-rnorm(340,2,1)
v4<-rnorm(340,4,1)
v5<-rnorm(340,8,1)
v6<-rnorm(340,0,3)
v7<-rnorm(340,2,6)
v8<-rnorm(340,3,2)
v9<-rnorm(340,9,1)
v10<-rnorm(340,0,2)
date<-seq(as.Date("1990-01-01"), as.Date("2018-04-01"),by="months")
data<-data.frame(date,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)
rownames(data)<-data$date
data<- data[-1]
rm(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)

all.combs<- function(dataframe,y){
  df<-dataframe
  df[[substitute(y)]]<- NULL

  m1<- data.frame(t(combn(colnames(df),1)))
  colnames(m1)<-"x1"
  m2<- data.frame(t(combn(colnames(df),2)))
  colnames(m2)<-c("x1","x2")
  m3<- data.frame(t(combn(colnames(df),3)))
  colnames(m3)<-c("x1","x2","x3")
  m4<- data.frame(t(combn(colnames(df),4)))
  colnames(m4)<-c("x1","x2","x3","x4")
  liste<- rbind.fill(m1,m2,m3,m4)
  return(liste)
}

test<-all.combs(data,v3)

其中test 是一个数据框,其中每一行都是自变量列表,v3 是我的因变量。现在我基本上想用所有测试行运行回归。即类似的东西

for (i in 1:nrow(test){
reg<-lm(data$v3~data$test[i] 
regs$"i"<-predict(reg)
}

所以我有一个数据框,其中包含我在 v3 上使用我的函数生成的所有组合的所有回归的所有预测值。

提前致谢, 彼得

【问题讨论】:

标签: r


【解决方案1】:

我通过添加这些行并引用示例中的第 149 行找到了我的问题的解决方案:

test<-all.combs(data,CPI)

to.match<-c(as.character(test[149,]))

tt<-select(data,grep(paste(to.match,collapse = "|"),names(data)))

【讨论】:

    猜你喜欢
    • 2017-11-04
    • 1970-01-01
    • 2010-12-11
    • 2016-11-14
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2021-10-02
    相关资源
    最近更新 更多