0

我正在处理几个名称遵循此结构的数据框:

data.bzk.18
data.bzk.19
data.bzk.20
data.bzk.21

我想plyr用来总结数据并基本上在每个数据帧上运行以下内容:

bzk.tot.18 <- plyr::count(data.bzk.18, c("BZNR"))

我想对所有这些都进行循环并提出这样的解决方案

for(i in 18:21) {
  to <- paste("bzk.tot", i, sep = ".")
  assign(to, i)

  from <- paste("data.bzk", i, sep = ".")
  assign(from, i)

  to <- plyr::count(from, c("BZNR")) #totals
}

不幸的是,它不起作用。我哪里做错了?

4

1 回答 1

3

简短的回答是,而不是:

   to <- plyr::count(from, c("BZNR")) #totals

利用:

    assign(to, plyr::count(get(from), c("BZNR")) )

并摆脱以前的assign陈述。


长答案是,您可能不想以这种方式去做。最好将所有 data.frames 收集到一个列表中,然后遍历该列表。

于 2013-04-29T10:21:51.933 回答