如何解决在R中使用100多个功能lm函数
假设我有一个由101列组成的数据帧,其中前100列的名称为data1至data100,第101列的名称为y。
如果我想在R中使用lm函数,其中data1到data100是特征。
我知道这可以写成:
lin_reg <- lm(y ~ data1+...+data100,dataframe)
有更好的方法吗?
解决方法
lin_reg <- lm(y ~ .,data = dataframe)
这假设您的数据实际上仅由结果+所有特征变量组成。没有多余的列。 “。”表示“从该数据框中获取所有其他内容”。
由于-根据评论-TO希望排除某些列:
data_frame_subset <- dataframe[,!names(dataframe) %in% c("data5","data10")]
lin_reg <- lm(y ~ .,data = dataframe_subset)
在此示例中,我将排除列data5和data10。
,您可以使用reformulate
动态创建公式:
lin_reg <- lm(reformulate(paste0('data',1:100),'y'),dataframe)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。