Мы можем использовать substring
или substr
для извлечения строки в определенной позиции.
df$match <- with(df, substring(A, 1, 1) == substring(C, 1, 1) &
substring(A, nchar(A)) == substring(D, 1, 1))
df
# A B C D match
#1 NINE ABCDEF NEW YORK EAGLE TRUE
#2 TWO ADSDD LONDON DOG FALSE
#3 THREE ASWERR TOKYO CAT FALSE
Если мы хотим подмножество этих наблюдений вместо добавления нового столбца, мы можем использовать subset
subset(df, substring(A, 1, 1) == substring(C, 1, 1) &
substring(A, nchar(A)) == substring(D, 1, 1))
# A B C D
#1 NINE ABCDEF NEW YORK EAGLE
данные
Рассмотрим пример данных
df <- data.frame(A = c("NINE", "TWO", "THREE"), B = c("ABCDEF", "ADSDD", "ASWERR"),
C = c("NEW YORK", "LONDON", "TOKYO"), D = c("EAGLE", "DOG", "CAT"),
stringsAsFactors = FALSE)