1
У меня есть следующий список строк:Заменить элементы списка по имени с другим списком
l.1 = list(a = "aaa", b = "111", c = "a1a", d = "222")
Я хочу, чтобы преобразовать строки с цифрами только для числовых записей. Для этого я использую функцию импортированные из другого вопроса here:
check.digits <- function(x){ grepl('^(\\d+)$' , x) }
При нанесении на l.1
он возвращает строки только с цифрами:
l.2 = lapply(l.1[check.digits(l.1)], as.numeric)
> l.2
$b
[1] 111
$d
[1] 222
Как заменить элементы в l.1
те, в l.2
?
Желаемый результат будет:
> l.1
$a
[1] "aaa"
$b
[1] 111
$c
[1] "a1a"
$d
[1] 222
'l.1 [имен (L.2)] <- l.2' –
Он работает. Благодаря! – mattek
Вы также можете рассмотреть логическое индексирование, то есть 'all_digit <- check.digits (l.1); l.1 [all_digit] <- lapply (l.1 [all_digit], as.numeric) ' – Benjamin