我在同一数据框中有几列列出了位置名称,但列标题略有不同
我想获得一个位置列,它将所有这三列组合在一起,但只保留唯一的位置名称。
例如,我的最终专栏列表是 - 位置(阿德莱德,悉尼,珀斯,达尔文,布里斯班,墨尔本)
答案 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'))