Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中拆分数据帧_R_Split - Fatal编程技术网

在R中拆分数据帧

在R中拆分数据帧,r,split,R,Split,我是R的新手。我有一个数据集,第一行是名称,第二行是名称所属的类别,然后是从第三行开始两年的价格观察。我想使用第二行中的类别拆分数据帧。我该怎么做 这就是我的数据集的样子(在R上): 这就是我想要的(在Excel上)外观: 注意:我无法在Excel上执行此操作,然后导入,因为类别太多。多种可能性 df <- data.frame(data = c(1:12), category = rep(letters[1:3], 4)) 基本数据帧子集 df_a <- df[df$cat

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

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

这就是我想要的(在Excel上)外观:

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

多种可能性

df <- data.frame(data = c(1:12), category = rep(letters[1:3], 4))
  • 基本数据帧子集

    df_a <- df[df$category == "a",]
    

    df_a你的问题有答案。split或split.data.frame函数可以完成此操作。第二个参数必须是factor类型,才能工作

    范例

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

    newdf我无法使用拆分,因为类别没有行名称。我已经添加了一个到目前为止我的数据集外观的捕获。我不确定是否可以为第二行添加行名称。我无法使用子集或您的其他建议,因为该类别没有行名称。我已经添加了一个到目前为止我的数据集外观的捕获。我不确定我是否可以为第二行添加行名。我不这样认为,我在问这个问题之前读过那篇文章。问题在于数据集的结构。我已经添加了数据集外观的捕获。也发布了您期望的捕获。无法理解您的最终需求。发布了最终需求捕获。@phil\t,您的问题格式不正确。你能检查一下吗。
    
    ls <- list
    for(category in unique(df$category)){
       ls[[category]] <- df[df$category == "a", ]
    } 
    
    newdf <- split.data.frame(iris, iris$Species)
    newdf