重新排列数据框?

那个家伙

我正在看书的一部分。对于一定范围的页面,我有一个指标,每本书都有一个类别。我有一个类似于的数据框:

file    value    pages   category
a.pdf   17       A       green
b.pdf   18       A       red
a.pdf   22       B       green
...

每个文件都属于同一类别,而与时间或值无关。因此,a.pdf将始终为绿色,因此某些数据是多余的。我想要将数据重新格式化为以下形式:

file    pages_A    pages_B    pages_C  category
a.pdf   17         22         7        green
b.pdf   18         11         43       red

...

什么是最优雅的方式做到这一点。我尝试将子集合并在一起并删除列:

out = merge(subset(long, pages=="A"), subset(long, pages=="B"), by=c("file","category"), all=T)
out = merge(out, subset(long, pages=="C", by=c("file","category", all=T)

但这似乎很困难,特别是如果我要重新排序三个以上的页面(很快就会发生)。

谢谢,埃德

大卫·阿伦堡(David Arenburg)

如果temp是您的数据集

library(reshape2)
dcast(temp, file + category ~ pages)

##    file category  A  B  C
## 1 a.pdf    green 17 22  7
## 2 b.pdf      red 18 11 43

使用data.table它可能更快(虽然不是基准)

library(data.table)
dcast.data.table(setDT(temp), file + category ~ pages)

##     file category  A  B  C
## 1: a.pdf    green 17 22  7
## 2: b.pdf      red 18 11 43

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新排列数据框列表

来自分类Dev

R重新排列数据框尺寸

来自分类Dev

使用python重新排列数据框

来自分类Dev

分割字符串并重新排列数据框

来自分类Dev

在R中的数据框中重新排列变量

来自分类Dev

R:根据排名重新排列数据框的列

来自分类Dev

再次重新排列数据框中的列

来自分类Dev

在pandas数据框中基于顺序的列重新排列

来自分类Dev

R:以扩展方式重新排列数据框中的列

来自分类Dev

在Python中将JSON结构重新排列为数据框

来自分类Dev

重新排列python pandas数据框(部分转置)

来自分类Dev

更改因子级别并重新排列数据框

来自分类Dev

在R中的数据框中重新排列行

来自分类Dev

再次重新排列数据框中的列

来自分类Dev

分割字符串并重新排列数据框

来自分类Dev

熊猫数据框不会重新排列列

来自分类Dev

重新排列纵向数据

来自分类Dev

重新排列数据行

来自分类Dev

重新排列CSV数据

来自分类Dev

重新排列纵向数据

来自分类Dev

R重新排列数据

来自分类Dev

根据重新排列的重复片段(或如何删除重新排列的重复片段)切片熊猫数据框

来自分类Dev

熊猫:求两行数据框的总和而不重新排列数据框?

来自分类Dev

熊猫:求两行数据框的总和而不重新排列数据框?

来自分类Dev

使用 python pandas 数据框重新排列连续数据日志

来自分类Dev

在R中重新排列分组数据

来自分类Dev

如何重新排列/处理数据?

来自分类Dev

从数据透视表重新排列值

来自分类Dev

用JavaScript重新排列数据