r - 在循环中连接字符串以生成一个字符串
问题描述
我必须为线性回归模型建立一个公式(使用 glm() 函数),我有太多变量要尝试。我正在做基因表达分析。所以,我正在寻找一种将所有这些变量连接在一个字符串中的方法(在这种情况下,变量将是我的 data.frame 的列名),因此可以实现公式。
我的数据看起来像这样(实际数据框有 213 列):
> df
Smoke PRR22 C15orf40 RAX2 GIMAP1 TM2D3 FAM167AAS1 LINC00161 SMCR8 CYP11B1
DP019 No 6.247058 4.609030 4.920439 3.531275 6.032196 1.576602 3.261709 5.752494 4.082924
DP021 Yes 5.767487 4.451362 4.834086 3.054192 6.049870 1.779412 2.618781 5.291328 4.274439
DP022 No 6.008855 4.841719 4.834774 3.354556 6.244215 1.580933 3.135989 4.989184 3.319836
DP025 Yes 5.390064 4.420183 4.923600 3.356938 5.516580 1.796413 2.984576 5.189582 3.833807
DP033 No 5.479384 5.987276 4.858381 3.454082 7.176767 1.640109 3.213976 5.378756 4.195856
DP035 No 5.439995 4.825332 5.469710 3.561561 6.357713 1.684058 3.635607 4.786237 3.792060
第一列(“Smoke”)是我的特征变量,其余的(基因名称)是基因表达水平。
我想建立这样的东西:
glm(Smoke ~ PRR22 + C15orf40 + RAX2 + GIMAP1... and so forth
我的问题是:我怎样才能以一种我有所有变量的方式自动化它?
也许将列名连接到一个字符串中可以解决问题?例如:
for (i in colnames(df)[-1]){
form <- as.formula(paste0("Smoke ~ ", i))
glm(form, data=df)
}
但它不起作用。我确定我错过了一些东西......或者很多。因此,如果有人可以提供帮助,那就太好了!
解决方案
推荐阅读
- perl - 如何在不调用 perl 函数的情况下测试签名违规?
- asp.net-core - 基于 .NET Framework 的 .NET Core 2.1 Web API 的授权问题
- javascript - 即使在转换为 ISO 格式后,也会出现 Moment js Deprecation 警告。我转成iso格式还是不行
- python - 在 pandas/python 中有效地解析时间格式
- c# - 将来自 Xam.Plugin.Media 5.0.1 的 imageSource 转换为 Xamarinforms 中的字节数组?
- python - 使用列表匹配包含整个单词的正则表达式
- servlets - 如何避免Java request.getQueryString() 得到转义字符串
- java - Kerberos cannot use ticket cache in Java code
- list - Groovy:使用 groupBy 求和 - 列表列表
- java - 用于从设备孪生获取所需属性的 Azure IoT 中心设备与服务 SDK?