поиск шаблона имени в наборе данных - PullRequest
0 голосов
/ 24 ноября 2018

Я свел свою проблему к набору данных (df_sum), который состоит только из символов, например

"LPC(20:1) uM"         "LPE(16:0) uM"         "LPE(16:1) uM"         "LPE(18:0) uM"         "LPE(18:1) uM"         "PA(32:1) uM"          "PA(34:1) uM"         
"PA(36:1) uM"          "PS(34:1) uM"          "PS(36:1) uM"          "PG(34:1) uM"          "PG(36:1) uM"          "PE(28:0) uM"          "PE(30:1) uM"
"LPC(20:1)"         "LPE(16:0)"         "LPE(16:1)"         "LPE(18:0)"         "LPE(18:1)"         "PA(32:1)"          "PA(34:1)"         
"PS(36:1)"          "PG(34:1)" 

Как видите, некоторые значения совпадают, но с дополнительным тегом "uM" вконец.

Моя цель - найти, какие значения являются уникальными и фактически одинаковыми, без удаления тега uM (что я пробовал, например, df_sum <- sub(" uM", "", df_sum))

Любая помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 25 ноября 2018

ОК, так что я сделал это.Вот код, который я использовал:

names.um <- names(df_sum[,names(dplyr::select(df_sum, dplyr::contains("uM")))]) #select 'uM' names from joint dataset 
names.um <- sub(" uM", "", names.um )#remove the 'uM' tag 

names.filou <- names(df_sum[,names(dplyr::select(df_sum, dplyr::ends_with(")")))])#select 'Filou' names from joint dataset 

pos.filou <- which(!names.filou %in% names.um)#(1)find possitions where values from 'Filou' don't match the ones from 'uM'
pos.um <- which(!names.um %in% names.filou)#(2)find possitions where values from 'uM' don't match the ones from 'Filou'


names.filou[pos.filou]#show values from (1)
names.um[pos.um]#show values from (2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...