【发布时间】:2017-08-24 00:31:09
【问题描述】:
我想在 R 中创建一个 for 循环,但它应该取决于 17 个变量中的最后一个字母,而且我很难找出如何让函数将变量名视为字符串。
我现在的代码:
fisher.test(table( data.family$proband.unrelated, data.family$q_81_SQ00a))
fisher.test(table( data.family$proband.unrelated, data.family$q_81_SQ00b))
fisher.test(table( data.family$proband.unrelated, data.family$q_81_SQ00c))
如您所见,我只是不断重复从字母 a 到 r 的每个变量的代码,所以我想创建一个 for 循环,它可以将变量 q_81_SQ00a 的最后一个字母更改为字母 a-r。
for (i in c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r')) {
fisher.test(data.family$proband.unrelated, data.family$q_81_SQ00'i'))
}
我在代码中的多个位置收到警告“意外符号”。 提前致谢!
【问题讨论】:
-
你能用数据发布一个最小的可重现示例吗?我认为在 R 中有比使用 for 循环更好的方法来做到这一点,例如dplyr 或 data.table 使用组(group_by 或 by)。
标签: r