在R中拆分数据帧

时间:2017-03-27 15:00:48

标签: r split

我是R的新手。我有一个数据集,其名称在第一行,名称属于第二行,然后是从第三行开始的两年的价格观察。我想使用第二行中的类别拆分数据框。我该怎么做?

这就是我的数据集(在R上):

enter image description here

这就是我想要的样子(在Excel上): enter image description here

注意:我无法在Excel上执行此操作,然后导入,因为类别太多了。

2 个答案:

答案 0 :(得分:0)

多种可能性

df <- data.frame(data = c(1:12), category = rep(letters[1:3], 4))
  1. subset功能。

    df_a <- subset(df, category == "a")
    
  2. 基本数据。框架子集

    df_a <- df[df$category == "a",]
    
  3. 进入列表

    ls <- list
    for(category in unique(df$category)){
       ls[[category]] <- df[df$category == "a", ]
    } 
    

答案 1 :(得分:0)

你的问题有答案。 split或split.data.frame函数可以执行此操作。第二个参数必须是因子类型才能发挥作用。

实施例

newdf <- split.data.frame(iris, iris$Species)
newdf