Pracuję z numerami dostępu NCBI sekwencji odniesienia jak zmiennej a
:Usuń część ciągu po "."
a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")
Aby uzyskać informacje z pakietu biomart muszę usunąć .1
, .2
itp po numerach akcesyjnych. Zwykle robię to z tym kodem:
b <- sub("..*", "", a)
# [1] "" "" "" "" "" ""
Ale jak widzisz, nie jest to poprawna metoda dla tej zmiennej. Czy ktoś może mi w tym pomóc?
Wyjaśnienie: z funkcjami w pakiet podstawowy (np bez innych pakietów, takich jak 'string r'), opcje są następujące: b1 <- gsub (" \\ .. * "," ", a, naprawiono = FAŁSZ) b2 <- pod (" \\ .. * "," ", a, naprawiono = FAŁSZ) W niektórych przypadkach może być konieczna zmiana argumentu' fixed'. Jednak tutaj * musisz * ustawić go na "FALSE" (co jest domyślne); inaczej nie zadziała. Co więcej, potrzebujesz podwójnego wyjścia '\\' lub pojawi się błąd. –
Nie używałbyś tego z ustalonym jako PRAWDA, ponieważ używamy tu wyrażenia regularnego. – Hansi