Я заметил проблему или проблему с функцией startsWith()
. Следующий код отображает два разных выбора. Первый ведет себя нормально, это кусок кода:
dt_test <- data.table(a = c("abcd", "poo", "abla", "ba"),
id = c(1,2,3, 4))
dt_test[startsWith(a, c("ab", "ao")),id]
# [1] 1 3
startsWith(dt_test$a, c("ab", "ao"))
# TRUE FALSE TRUE FALSE
И если вы заметили, этот выбирает только первый, который противоречит интуиции, поскольку id
2 и 4 должны быть TRUE
dt_test <- data.table(a = c("ab","abcd", "poo", "abla", "ba"),
id = c(1,2,3, 4,5))
dt_test[startsWith(a, c("ab", "ao")),id]
# [1] 1
startsWith(dt_test$a, c("ab", "ao"))
# [1] TRUE FALSE FALSE FALSE FALSE
Что я должен использовать вместо startsWith()
в этом конкретном случае?