R-使用仅适用于特定列

道伊

我在R中使用的软件包适合特定形式的回归模型。但是,与允许lm和y成为独立对象的基本lm()函数不同,我正在使用的函数要求它们在同一数据帧中。

出现我的问题是因为我有很多要独立回归y的变量。因此,我有一个数据帧,其中包含10个预测变量(x1,x2 ... x10)和一个标准变量(y),总共11列。我可以使用for循环来运行十个单独的回归,但是我想避免使用它,而是使用apply函数。但是,如果我在数据框上调用apply,则在最后一步中它将对y本身进行y回归,因此我想避免这种情况。是否有可以应用和运行的函数,可以指定我只希望运行10次而不是11次,或者是否有其他解决方法可以解决此问题?

阿尔特姆·索科洛夫(Artem Sokolov)

这是一个tidyverse解决方案:

library( tidyverse )

xx <- c("disp", "hp", "drat", "wt")   # Names of predictor variables
y <- "mpg"                            # Name of response

str_c( y, xx, sep="~" ) %>%
  map( as.formula ) %>%               # Optional (see below)
  map( lm, data = mtcars )

str_c只需将公式建立为字符串即可(例如"mpg~disp")。虽然lm直接接受字符串,但是您的特定回归模型可能不会。如果需要一个实际公式,则可以使用as.formula(将建议转换为@ J.Doe!)将字符串转换为公式除此之外,只需lm用您的特定模型和mtcars数据框替换即可


这是使用base R而没有任何其他软件包的相同解决方案:

strs <- paste( y, xx, sep="~" )
strs <- lapply( strs, as.formula )    # Optional
lapply( strs, lm, data=mtcars )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R仅适用于sudo

R-Dplyr-get()不适用于每一列,仅使用第一次出现

R Shiny DT 数据表列宽适用于所有列,但不适用于特定列

r:unnest_tokens()不适用于特定文件

如何修复“历史记录仅适用于单个数字列。” R中的错误

使用散列字典的词条还原功能不适用于R中的tm包

r rpart 仅适用于整数而不适用于因子?得到一棵没有深度的树

R哈希列不适用于摘要

R是否适用于多列等效于Python?

R表功能适用于所有列

循环不适用于 R 中的字符列

嵌套适用于R

R中的regex strsplit表达式,因此它仅适用于每个字符串中首次出现的特定字符吗?

R中的超前/滞后,但仅适用于满足是/否条件的行

R语言错误:“ date_trans仅适用于日期类的对象”(ggplot2)

等效于R ls(),但仅适用于用户生成的对象/函数吗?

R:汇总信息仅适用于范围内的正数

Dplyr 总结“sum”函数仅适用于 R 中的子集而不是较大的数据集

计算行均值仅适用于R中具有多个数据点的行

向量化R中的两个相似函数仅适用于一个

R : x 比较 (1) 仅适用于原子和列表类型

R 错误:轮廓图仅适用于二维函数

R unique.default(x)中的Plotly错误:unique()仅适用于向量

Esharp LeMP #r“路径”仅适用于compileTime指令中的绝对路径

我的循环仅适用于最后一个文件R

客户证书-但仅适用于使用haproxy的特定路由

R适用于列表列表以将相同功能应用于预定义列

二维适用于R?

R round()规则适用于.5