用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”)}
,您将很快看到错误