2015-10-16 3 views
0

Как я могу эффективно удалить дубликаты из этого символьного вектора?Удалить дублированные строки из символьного вектора

> dput(data[1:30]) 
c("AT2G27020 AT3G26340", "AT1G56450 AT3G26340", "AT1G13060 AT3G26340", 
"AT3G22630 AT3G26340", "AT3G22110 AT3G26340", "AT2G05840 AT3G26340", 
"AT1G47250 AT3G26340", "AT1G79210 AT3G26340", "AT2G27020 AT5G40580", 
"AT3G27430 AT5G40580", "AT4G31300 AT5G40580", "AT3G14290 AT5G40580", 
"AT3G22630 AT5G40580", "AT3G22110 AT5G40580", "AT5G35590 AT5G40580", 
"AT2G05840 AT5G40580", "AT3G60820 AT5G40580", "AT1G79210 AT5G40580", 
"AT2G27020 AT3G27430", "AT2G27020 AT4G31300", "AT1G53850 AT2G27020", 
"AT2G27020 AT5G66140", "AT2G27020 AT3G51260", "AT1G21720 AT2G27020", 
"AT1G56450 AT2G27020", "AT1G13060 AT2G27020", "AT2G27020 AT3G22630", 
"AT2G27020 AT4G14800", "AT2G27020 AT3G22110", "AT2G27020 AT5G35590" 
) 

Я пытался использовать простые функции, как: unique и duplicated, но, к сожалению, это не сработало.

Это мое плохое. По дубликатам я имею в виду те же AGI, что и неважно, что некоторые из них хранятся вместе в «". Я хотел бы иметь каждый «ATXG ...» только один раз в моем векторе. Вначале я не знала, что этот вектор содержит пары из них ... Извините.

+3

Что именно вы пытались сделать (код) и что не сработало? 'unique' и' duplicated' работают в строке _entire_. Какие «дубликаты» вы пытаетесь удалить? – hrbrmstr

+1

ваш пример не содержит дубликатов ... – Cath

+1

Ваши строки в формате '" text1 text2 "'. Вы хотите посмотреть, равны ли эти два значения друг другу? 'text1 == text2'? –

ответ

3
unique(unlist(strsplit(x, " "))) 
#[1] "AT2G27020" "AT3G26340" "AT1G56450" "AT1G13060" "AT3G22630" "AT3G22110" 
#[7] "AT2G05840" "AT1G47250" "AT1G79210" "AT5G40580" "AT3G27430" "AT4G31300" 
#[13] "AT3G14290" "AT5G35590" "AT3G60820" "AT1G53850" "AT5G66140" "AT3G51260" 
#[19] "AT1G21720" "AT4G14800" 
Смежные вопросы