У меня есть список строк символов, скажем alphabets = c(a, b, c, d,..., z) и я хотел бы получить индекс этого списка в виде нового столбца в data.frame.
alphabets = c(a, b, c, d,..., z)
data.frame
например. (b, a, c, d, e, g) даст (2, 1, 3, 4, 5, 7).
(b, a, c, d, e, g)
(2, 1, 3, 4, 5, 7)
Решение, которое вам нужно, - преобразовать вектор символов в коэффициент:
alphabets = c("b", "a", "c", "d", "e", "g") #convert to class factor with the order define by the levels option alphabets<-factor(alphabets, levels=letters) #display the values as.numeric(alphabets) #[1] 2 1 3 4 5 7
Это случай для match
match
x <- c("b", "a", "c", "d", "e", "g") match(x, letters) #[1] 2 1 3 4 5 7
или sapply с grep возвращением именованного int вектора
sapply
grep
int
sapply(x, grep, letters) #b a c d e g #2 1 3 4 5 7
alphabets = c("a", "b", "c", "d")
character
list
letters
?letters