gpt4 book ai didi

r - 将多列放样到两列并删除 R 中的重复项

转载 作者:行者123 更新时间:2023-12-02 19:06:31 25 4
gpt4 key购买 nike

我有多个列,但这只是我的数据的一部分:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com