0

我有六个数据集(set1 到 set6),每个数据集都有 q1 到 q23 列。如果列 q 的值小于阈值,例如 0.1,我想打印每个数据集所有行的第 1 列和第 2 列。

我正在使用这个语句来打印行,它是独立工作的。

subset(set1, q1 < 0.1, select = (Column1 && Column2))

但是,我想编写一个嵌套的 for 循环来循环每个集合中的 sets1-6 和列 1-23。

这是我的伪代码想法,但我认识到这不是正确的 R 语法。请帮忙?

for (i in 1:6)
{
    for (j in 1:23)
    {
        subset(set[i], q[j] < 0.1, select = (Column1 && Column2))
    }
}
4

1 回答 1

2

你可以使用这个:

for (i in 1:6)
{
    for (j in 1:23)
    {
        x <- get(paste0("set",i))

        print(x[x[,paste0("q",j)]<0.1, 1:2])
    }
}
于 2013-08-08T19:12:28.240 回答