使用迭代器作为对象名称的一部分分配给for循环中的对象

时间:2013-11-11 18:32:12

标签: r

我有一个数据框COG代表一个具有几个不同条件的实验。对于几个计算,我想将这个数据框子化为与条件一样多的子集,并且我希望子集名称类似于COG.i,其中i是条件。

for (i in unique(COG$cond)) {
 ??? <- subset(COG, COG$cond == i)
}

我需要用什么代替????它不是COG.i而是定义为paste0("COG.", i)

(我意识到人们也可以注意“整理”数据或使用虚拟代码来处理不同的情况,但除了统计数据之外,我想首先更好地掌握R。)< / p>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

为此目的存在列表。而不是拥有多个变量,将结果放在一个列表中。

根据评论中的建议,您应该使用split将数据集拆分为不同的子集。

COG.split <- split(COG, COG$cond)

然后,您可以使用[[ ]]运算符访问不同的子集,或使用*apply系列函数对各个子集执行操作。