在for循环中使用列表值

时间:2014-08-04 03:15:40

标签: r

我有一个包含25列的table4,我确实希望将此表的子集归类为Job..R列中的7个值,以获得7个单独的表。

for(i in 1:7) {
  x = NULL
  x = list(1 == "14047/2", 2 == "18331/3", 3 == "18331/4", 4 == "24889/3", 
           5 == "24889/4", 6 == "24889/5", 7 == "24889/9")
  View(i)
  a = subset(table4, Job..R == x[i])
  b = mean(a[ ,13])
  View(a)
  View(b)
  save(b, file="i.Rda") #ideally save .Rda file with used Job..R
}

我创建了一个从1到7的for循环和一个名称为1到7的列表,并且我为每个名称分配了一个Job..R列的值,我希望将其子集化为。

此循环此时循环执行7次循环(这就是我想要的)并创建了7个包含25个列但包含标题但没有内容的表。如何将内容放入新表中? 如何使用每个表的特定文件名保存新表。理想情况下,特定文件名是我用于子集的列Job..R中的数字。 非常感谢提前!!

约翰

1 个答案:

答案 0 :(得分:1)

请勿在{{1​​}}来电中使用==,因为比较值而不是分配列表项。 list()使用您当前的代码只是x值的列表,因为:

FALSE

请改为尝试:

1=="14047/2"
#[1] FALSE

此外,您需要x = list("14047/2","18331/3","18331/4","24889/3", "24889/4","24889/5","24889/9") 一起使用您的文件名,以便正确解释paste0

i