Мне было интересно, было ли что-нибудь подобное функции subset
, но для назначения, а не для извлечения. Часто мне нужно сделать что-то вроде
rows <- # some condition
df$x[rows] <- with(df[rows, ], {
# operation 1...
})
df$y[rows] <- with(df[rows, ], {
# operation 2...
})
И мне кажется, что было бы неплохо иметь возможность написать
subset(df, rows, c(x, y)) <- (some expression combining operations 1 and 2)
Есть что-нибудь подобное?
РЕДАКТИРОВАТЬ: немного фона. В SAS можно написать код обработки данных, например
if /* condition */ then do;
x = ...; y = ...; z = ...;
end;
else if /* some other condition */ then do;
x = ...; y = ...; z = ...;
end;
else if /* etcetera */
Я в основном ищу самый простой / самый элегантный способ воспроизвести это в R. Прямой перевод будет включать цикл for для всех строк во фрейме данных, и, очевидно, я бы предпочел этого не делать.