У меня есть коды тем, где последняя цифра кода — это номер сеанса. Используя подстроку, я могу создать новую переменную номера сеанса, однако номер сеанса все еще необходимо удалить из исходного кода темы. (AN11GR1 должен стать AN11GR)
Вот воспроизводимый пример с решением:
structure(list(subject = c("AN11GR1", "AN11GR2", "BR13ST1", "BR13ST2"
), target = c("m_ve", "k_ck", "m_ve", "k_ck"), corrAns = c("o",
"i", "o", "i"), RT = c(2.9254148, 1.7154148, 2.6454148, 1.9254148
)), class = "data.frame", row.names = c(NA, -4L)) -> myData
myData$session <- substring(myData$subject, nchar(myData$subject))
myData$subject <- substring(myData$subject, 1, nchar(myData$subject)-1)
myData <- subset(myData, select = c(subject, session, RT))
myData
Идеи, как убрать последний символ лаконично и удобно? (Наиболее краткое решение см. в комментарии akrun.)
Добавьте эту строку в свой код. Используя substring
и nchar
, вы можете определить удаление последнего символа:
myData$subject <- substring(myData$subject, 1, nchar(myData$subject)-1)
myData
subject session RT
1 AN11GR 1 2.925415
2 AN11GR 2 1.715415
3 BR13ST 1 2.645415
4 BR13ST 2 1.925415
Вариант
myData %>% tidyr::extract(subject, into = c("subject", "session"), "(.*)(.)$", convert = TRUE)
(при условии, что ваш вопрос касается краткости кода)