在R中重新排列分组数据

在R中重新排列分组数据,r,dataframe,R,Dataframe,以Oats数据为例,我希望获得以下结果: library(nlme) dframe <- data.frame( Block = rep("I", 3), Variety = names(table(Oats[Oats$Block == "I", ]$Variety)), Freq = as.vector(table(Oats[Oats$Block == "I", ]$Variety))) Block Variety Freq

以Oats数据为例,我希望获得以下结果:

library(nlme)

dframe <- data.frame( Block = rep("I", 3), Variety = names(table(Oats[Oats$Block == "I",            ]$Variety)), Freq = as.vector(table(Oats[Oats$Block == "I", ]$Variety)))

        Block     Variety      Freq
    1     I      Golden Rain    4
    2     I      Marvellous     4
    3     I      Victory        4
    ...
我想要Oats数据中所有其他区块II至VI的上述结果。我希望在R中有一种更有效的方法来实现这一点,而不必为每个块ID编写单独的代码。我已经阅读了一些帖子,但仍然没有找到解决方案。我还尝试使用了一些函数aggregate、table等

谢谢

您可以使用表格

这是我第一次用数据表回答。。。 我认为你可以做以下事情,这将不需要任何重新订购后

> library(data.table)
> setDT(Oats)[, .N, by = list(Block, Variety)]
data.table用户,如果这是错误的,请纠正我

> library(plyr)
> count(Oats, vars = c("Block", "Variety"))
> library(data.table)
> setDT(Oats)[, .N, by = list(Block, Variety)]