Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 重新定义后更新变量值_R - Fatal编程技术网

R 重新定义后更新变量值

R 重新定义后更新变量值,r,R,这是一个新手问题,请各位回答: 案例场景: 我定义变量A:A=number 我根据A:B=number*A定义了其他变量 我改变了A的定义:A=不同的数字 [Q] 。如何让R自动更新B的值,而不重新定义它 例如: 1.A=1000; 2.B=A/10;(B=100) 3.改变了我的想法:毕竟A=1100 >A 1100 >B 100 B应为110(1100/10),但其值尚未更新-因此其读数为100。如果不重新定义B,如何更新其值 谢谢 您建议将B作为a的函数(可能是第二个表达式中

这是一个新手问题,请各位回答:

案例场景:

  • 我定义变量A:A=number

  • 我根据A:B=number*A定义了其他变量

  • 我改变了A的定义:A=不同的数字

  • [Q] 。如何让R自动更新B的值,而不重新定义它

    例如: 1.A=1000; 2.B=A/10;(B=100) 3.改变了我的想法:毕竟A=1100

    >A
    1100
    >B
    100
    
    B应为110(1100/10),但其值尚未更新-因此其读数为100。如果不重新定义B,如何更新其值


    谢谢

    您建议将B作为a的函数(可能是第二个表达式中的“数字”)

    A=10
    B试试这个:

    A <- 1000
    makeActiveBinding("B", function() A/10, .GlobalEnv)
    B
    ## [1] 100
    A <- 1100
    B
    ## [1] 110
    

    <代码> > G.Grutdidik很好地回答了你的问题,但是我建议你也考虑改变你的成语——虽然它很方便(类似于电子表格和象圣人或Mathematica之类的象征性数学程序),但是对于@博克来说,这是不习惯的,但是另一种方法是“重放”。以前的计算借助于IDE,如emacs/ess或RStudio。
    A <- 1000
    makeActiveBinding("B", function() A/10, .GlobalEnv)
    B
    ## [1] 100
    A <- 1100
    B
    ## [1] 110