Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
用for循环和if-else进行R迭代替换_R_Loops_If Statement_For Loop - Fatal编程技术网

用for循环和if-else进行R迭代替换

用for循环和if-else进行R迭代替换,r,loops,if-statement,for-loop,R,Loops,If Statement,For Loop,我是一个新用户,所以请容忍我 我有一个数据框,dfalpha,它有几个变量及其对应的值。类似于: individual variable value alpha a 0.2 alpha b 0.4 alpha c 0.6 alpha d 0.8 我有另一个数据帧,用于其他个人 individual variable value beta a 0.1 beta b 0.8 beta c 0.5 beta d

我是一个新用户,所以请容忍我

我有一个数据框,
dfalpha
,它有几个变量及其对应的值。类似于:

individual  variable    value
alpha   a   0.2
alpha   b   0.4
alpha   c   0.6
alpha   d   0.8
我有另一个数据帧,用于其他个人

individual  variable    value
beta    a   0.1
beta    b   0.8
beta    c   0.5
beta    d   0.3
我需要用alpha a值(0.2)替换beta值(0.1),然后撤消此替换并用alpha b值(0.4)替换beta b值(0.8)。其余的就这样

我试过:

for(i in 1:4){
  if (i = 1) {
    dfalpha$value[i] <- dfbeta$value[i] 
  } else {
    dfalpha$value[i] <- dfbeta$value[i]
    dfalpha$value[i-1] <- dfalphapermanent[i-1]
  } 
  print(dfalpha) 
}
for(1:4中的i){
如果(i=1){

dfalpha$value[i]问题在于,如果(i=1)
i=1
总是计算为TRUE,因为它将
1
赋值给
i


如果(i==1),则需要

很不清楚你想要实现什么。当然,你不只是想打印。也许你可以将两个数据集合并成一个值?好吧……如果你不想设计一个能够做事情的程序,然后马上撤销它们,你最好申请一场政治竞选!;-)请更好地解释一下什么你期望……对不起,这只是从一些经济计量分析系数中创建瀑布图所需的长线程中的一个步骤。我需要用dfalpha中变量a的值替换dfbeta中一个变量(例如变量a)的值(例如,在本例中用0.2替换0.1)。然后,我需要撤消此替换,并替换下一个变量(例如b)。因此,将0.4(dfalpha变量b值)替换为0.8(dfbeta变量b值)。感谢您发现这一点。对不起,我对R非常陌生,堆栈溢出是我唯一的帮助来源!没问题。针对这种情况,一个很好的调试技巧是从最简单的框架开始构建代码。例如,运行
for(I in 1:4){if(I=1)print(“I is one”)else print(“I is note”)}
,您将很快看到错误