Я столкнулся с небольшой проблемой с помощью R …
В следующем кадре данных
test <- data.frame(v1=c(rep(1,3),rep(2,3)),v2=0)
Я хочу изменить значения для v2 в строках, где v1 равняется 1.
test[test$v1==1,"v2"] <- 10
работает просто великолепно.
test
v1 v2
1 1 10
2 1 10
3 1 10
4 2 0
5 2 0
6 2 0
Однако я должен сделать это в функции.
test <- data.frame(v1=c(rep(1,3),rep(2,3)),v2=0)
test.fun <- function (x) {
test[test$v1==x,"v2"] <- 10
print(test)
}
Вызывание функции, кажется, работает.
test.fun(1)
v1 v2
1 1 10
2 1 10
3 1 10
4 2 0
5 2 0
6 2 0
Однако, когда я теперь смотрю на тест:
test
v1 v2
1 1 0
2 1 0
3 1 0
4 2 0
5 2 0
6 2 0
это не работало. Существует ли команда, которая говорит R действительно обновлять кадр данных в функции? Большое спасибо за любую справку!