у меня есть большой набор данных хранится в виде списка списков, которые могут быть упрощены таким образом:R использовать Grep, чтобы очистить колонку в списке списков
list1 <- list(1,"bob", "age=14;years")
list2 <- list(2,"bill", "age=24;years")
list3 <- list(3,"bert", "age=36;years")
data.list <- list(list1, list2, list3)
Я хочу, чтобы очистить третий столбец так, что у меня есть только числовое значение возраста. Это можно сделать с помощью следующей функции, которая возвращает новый список:
clean <- function(x){
x <- as.numeric(gsub('.*age=(.*?);.*','\\1', x[3]))
}
data.age <- lapply(data.list, clean)
Но как может я либо
а) непосредственно очистить колонку, чтобы вернуть значение
или
b) заменить исходный столбец [3]
колонкой data.age
?
Спасибо, что это сработало и над моими настоящими данными. – mattbawn