Проблема в том, что strsplit
по-прежнему list
из length
1 с первым элементом a vector
strsplit("jeffrey", "")
#[[1]]
#[1] "j" "e" "f" "f" "r" "e" "y"
Обтекание c
не изменитСценарий по умолчанию recursive = FALSE
.
c(strsplit("jeffrey", ""))
#[[1]]
#[1] "j" "e" "f" "f" "r" "e" "y"
Изменение recursive = TRUE
позволит преобразовать list
в vector
c(strsplit("jeffrey", ""), recursive = TRUE)
#[1] "j" "e" "f" "f" "r" "e" "y"
Если мы используем unlist
(как в решении @ JohnyCrunch), он выводит список list
, потому что по умолчанию recursive = TRUE
и конвертируется в vector
.В нашем случае другой подход заключается в извлечении элемента list
с помощью [[
(поскольку это только list
из length
1.
name <- strsplit("jeffrey", "")[[1]]
which(letters %in% name)
#[1] 5 6 10 18 25