作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个列,但这只是我的数据的一部分:
df<-read.table (text=" Color1 Size1 Color2 Size2 Color3 Size3
Yellow AA Gray GB Purpul MO
Blue BD Cyne CE Gray GB
Yellow AA Yellow AA Black LL
Red MD Reddark KK Reddark KK
Green MC Reddark KK Green MC
", header=TRUE)
我想删除所有列并将它们显示为两列,然后删除重复项以获得此表:
Color Size
Yellow AA
Blue BD
Red MD
Green MC
Gray GB
Cyne CE
Reddark KK
Purpul MO
Black LL
我尝试使用 Melt 来 reshape Reshape2,但我很难做到。
最佳答案
在没有其他库的情况下,reshape 和 unique 可以完成工作:
> unique(reshape(df, varying=1:6, direction="long", v.names=c("Color", "Size"), timevar=NULL)[1:2])
Color Size
1.1 Yellow AA
2.1 Blue BD
4.1 Red MD
5.1 Green MC
1.2 Gray GB
2.2 Cyne CE
4.2 Reddark KK
1.3 Purpul MO
3.3 Black LL
对我来说,旋转似乎有点矫枉过正,但我知道什么。如果索引困扰您(尽管它保存了有关宽表结构的信息),请重置行名称:
> uniq = unique(reshape(df, varying=1:6, direction="long", v.names=c("Color", "Size"), timevar=NULL)[1:2])
> rownames(uniq) = NULL
关于r - 将多列放样到两列并删除 R 中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64976617/
我是一名优秀的程序员,十分优秀!