Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过循环将excel中的列分配给R中的变量?_R_Excel - Fatal编程技术网

如何通过循环将excel中的列分配给R中的变量?

如何通过循环将excel中的列分配给R中的变量?,r,excel,R,Excel,我真的不擅长循环,即使它很简单。在excel中,使用col_names=TRUE,我想使用每列作为自变量,如x_I,1:256中的I,以及第257列作为因变量。excel有257列作为变量,如下所示: 1 2 3 4 5 ... 255 256 257 R1 -2.2 -5.4 -1.4 -2.4 -4.9 ... -8.9 -7.8 69 R2 -1.2 -3.3 -0.5 -1.6 -4.0

我真的不擅长循环,即使它很简单。在excel中,使用
col_names=TRUE
,我想使用每列作为自变量,如x_I,1:256中的
I,以及第257列作为因变量。excel有257列作为变量,如下所示:

      1     2    3    4    5        ...      255   256  257
R1   -2.2 -5.4 -1.4 -2.4 -4.9       ...     -8.9  -7.8  69
R2   -1.2 -3.3 -0.5 -1.6 -4.0       ...     -7.0  -5.5  50
R3             ...                             ...
R4             ...                             ...
R5             ...                             ...
我试过了

>data <- read_excel("data.xlsx",col_names = T) 
>for (i in 1:256) {
 x_i <- data$`i`
 }
>的数据(1:256中的i){

x_i y x lmr这将使用256个单独的对象(每个
数据列对应一个
数据帧)扰乱您的全局环境。相反,为什么不只使用一个对象--
数据
数据框--然后在需要时引用相应的列呢?如果你告诉我们更多关于你要做的事情,我们可以提供更具体的建议。要建立回归模型,请将数据保存在数据框中并执行以下操作:
lmr=lm(y~x1+x2,data=data)
,其中
y
x1
x2
等是
数据
数据框中的列名称。通常,将数据保存在数据框中,并根据需要引用列。与
lm
类似,许多R函数都有
数据
参数,这是将数据框传递给函数的方式。然后,您可以在函数中使用数据框的列名。要创建大型回归公式而不必键入每个列名,您可以这样做:
lmr=lm(重新格式化(名称(数据)[2:257],response=names(数据)[1]),data=data)
。运行
重新格式化(名称(数据)[2:257],response=names(数据)[1])
查看
重新格式化的输出。
>y <- data$'257'
>X <- c(x_1,x_2,...,x_256)
>lmr <- lm(y~X)