在R中拆分数据帧
我是R的新手。我有一个数据集,第一行是名称,第二行是名称所属的类别,然后是从第三行开始两年的价格观察。我想使用第二行中的类别拆分数据帧。我该怎么做 这就是我的数据集的样子(在R上): 这就是我想要的(在Excel上)外观: 注意:我无法在Excel上执行此操作,然后导入,因为类别太多。多种可能性在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
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