Рассмотрим следующий простой набор данных ds
:
ds <- data.frame("x"=c(1,2,3), "y"=c(5,5,5))
Я применяю функцию к некоторым столбцам ds, таким как x
и y
, и создаю две новые переменные с именами xnew
и * 1008. *. Это хорошо работает:
ds[,c("xnew","ynew")] <- lapply(ds[,c("x","y")], function(x) x^2)
Но предположим, что есть некоторые неопределенные имена столбцов, такие как z
! В этом случае я получаю ошибку "undefined columns selected"
, и ни xnew
, ни ynew
не были созданы. Есть ли способ пропустить эту ошибку и создать xnew
и ynew
и получить только ошибку для znew
? (что-то вроде trycatch
от for-loops
)
ds[,c("xnew","ynew","znew")] <- lapply(ds[,c("x","y","z")], function(x) x^2)
Error in `[.data.frame`(ds, , c("x", "y", "z")) :
undefined columns selected