R 多重线性模型

R 多重线性模型,r,statistics,lm,genome,R,Statistics,Lm,Genome,我目前有两个数据表,其中一个在列中包含独立变量和控制变量,而另一个包含因变量行 有人能帮我从两个表中创建一个线性模型的方法吗?这两个表对依赖值表中的每一行重复执行。您既没有提供可复制的示例,也没有期望的输出,所以我只能猜测 如果这是你的列名向量 vec <- LETTERS[1:3] 这将给 # [[1]] # # Call: # lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), #

我目前有两个数据表,其中一个在列中包含独立变量和控制变量,而另一个包含因变量行


有人能帮我从两个表中创建一个线性模型的方法吗?这两个表对依赖值表中的每一行重复执行。

您既没有提供可复制的示例,也没有期望的输出,所以我只能猜测

如果这是你的列名向量

vec <- LETTERS[1:3]
这将给

# [[1]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            B            C  
# 4.9687       0.2410      -0.1565  
# 
# 
# [[2]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            A            C  
# 2.7975       0.8182       0.2775  
# 
# 
# [[3]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            A            B  
# 13.200       -1.675        0.875  

你尝试了什么?发布一些示例数据怎么样?这是一个很好的起点。请提供一个示例输入和所需输出。你现在的描述很模糊。一个具体的例子会很有帮助。也可以查看
重新格式化
lapply(vec, 
       function(x) lm(as.formula(paste(x, "~", 
                                       paste(setdiff(names(df), x), 
                                                     collapse = "+"))), 
                      data = df))
# [[1]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            B            C  
# 4.9687       0.2410      -0.1565  
# 
# 
# [[2]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            A            C  
# 2.7975       0.8182       0.2775  
# 
# 
# [[3]]
# 
# Call:
#   lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#                                                       x), collapse = "+"))), data = df)
# 
# Coefficients:
#   (Intercept)            A            B  
# 13.200       -1.675        0.875