Я работаю над фреймом данных, который не имеет детекторов, которые закодированы с помощью '<'. Иногда есть пробел после '<' а иногда и нет. '< 2' или '< 2'. Я хотел бы удалить каждое возникновение пространства.
Пример:
data <- data.frame(name = rep(letters[1:3], each = 3), var1 = rep('< 2', 9), var2 = rep('<3', 9))
name var1 var2
1 a < 2 <3
2 b < 2 <3
3 c < 2 <3
Вот где я должен:
Я могу извлечь все значения и создать новые строки, но я не могу вернуть их в фрейм данных.
index <- str_detect(unlist(data), '<')
index <- matrix(index, nrow = 3)
data[index]
#[1] "< 2" "< 2" "< 2" "<3" "<3" "<3"
replacements <- str_replace_all(data[index], "<[ ]+","<")
replacements
#[1] "<2" "<2" "<2" "<3" "<3" "<3"
data[index] <- replacements
#Error in `[<-.data.frame`(`*tmp*`, index, value = c("<2", "<2", "<2", :
# unsupported matrix index in replacement