Обновление значения переменной после переопределения - PullRequest
4 голосов
/ 18 сентября 2011

Вопрос новичка для вас R люди:

Сценарий:

  1. Я определяю переменную A: A = число

  2. Я определяю другие переменные на основе A: B = число * A

  3. Я изменяю определение A: A = другое число

[Q]. Как я могу получить R для автоматического обновления значения B, не переопределяя его снова?

т.д .: 1. А = 1000; 2. B = A / 10; (В = 100) 3. Передумал: А = 1100 в конце концов;

>A
1100
>B
100

B должно быть 110 (1100/10), но его значение не было обновлено - следовательно, оно читает 100. Без переопределения B, как я могу обновить его значение?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 18 сентября 2011

Попробуйте это:

A <- 1000
makeActiveBinding("B", function() A/10, .GlobalEnv)
B
## [1] 100
A <- 1100
B
## [1] 110
2 голосов
/ 18 сентября 2011

Вы предлагаете сделать B функцией A (и, возможно, "числа" во втором выражении)

A=10
B <- function(Number=3.5) { A*Number }
B()
# [1] 35
A <- 15
B()
# [1] 52.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...