从RStudio中相同数据框的列中的重复数据创建列表

时间:2015-05-13 23:17:11

标签: r

我在同一数据框中有几列列出了位置名称,但列标题略有不同

  1. 位置1(阿德莱德,悉尼,珀斯)
  2. 位置2(珀斯,达尔文,阿德莱德)
  3. 位置3(布里斯班,阿德莱德,墨尔本)
  4. 我想获得一个位置列,它将所有这三列组合在一起,但只保留唯一的位置名称。

    例如,我的最终专栏列表是 - 位置(阿德莱德,悉尼,珀斯,达尔文,布里斯班,墨尔本)

2 个答案:

答案 0 :(得分:0)

试试这个:

newcol<-with(yourdf,unique(c(Location1,Location2,Location3)))

答案 1 :(得分:0)

如果这些是在数据框中,则thei为您提供减少的因子结果,

> unique(unlist(dat))
[1] Adelaide  Sydney    Perth     Darwin    Brisbane  Melbourne
Levels: Adelaide Perth Sydney Darwin Brisbane Melbourne

如果您想要数据帧,那么这很简单:

newdat <- data.frame(Location1 = unique(unlist(dat)) )
> newdat
  Location1
1  Adelaide
2    Sydney
3     Perth
4    Darwin
5  Brisbane
6 Melbourne

并且as.character可以将其转换为字符向量。

测试对象:

dat <- data.frame(
     Location1 = c('Adelaide', 'Sydney', 'Perth'),
     Location2= c('Perth', 'Darwin', 'Adelaide'),
     Location3 =c('Brisbane', 'Adelaide', 'Melbourne'))