Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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循环对数据帧执行数学运算_R - Fatal编程技术网

使用for循环对数据帧执行数学运算

使用for循环对数据帧执行数学运算,r,R,我有一个数据框“DEM2”,由160行和12列组成,我想创建一个新的数据框“zcp_DEM” zcb_DEM[1,i] <- 100/(100+DEM2[i,2]) ## for all i in 1:160 ## for all i in 1:160 and j in 2:11 zcb_DEM[j,i] <- (100/100+DEM2[i,j])*(1-sum(zcb_DEM[1:j-1,i])*(DEM2[i,j]/100)) 使用warnin

我有一个数据框“DEM2”,由160行和12列组成,我想创建一个新的数据框“zcp_DEM”

     zcb_DEM[1,i] <- 100/(100+DEM2[i,2]) ## for all i in 1:160
     ## for all i in 1:160 and j in 2:11
     zcb_DEM[j,i] <- (100/100+DEM2[i,j])*(1-sum(zcb_DEM[1:j-1,i])*(DEM2[i,j]/100)) 
使用
warnings()
时,会出现以下(错误)


EDIT²我发现了错误所在:数据帧DEM2不是完全数字的,我只是需要修复它。

请不要使用RStudio标记,除非您的问题与代码编辑器RStudio有关。你不会在语法问题上使用
MicrosoftWord
标记,即使你碰巧用它来写英语,你也不应该仅仅因为你在用这个程序(而不是emacs、Vim、记事本、RGui或其他任何东西)来写你的R代码而使用
RStudio
标记对于第二行,请查看
?purr::accumulate
“不工作”不是特定的。错误?还是意外的结果?第二行语义(但不是语法)错误,因此可能没有错误消息。当使用诸如
[1:j-1,i]
之类的索引时,您应该始终使用括号。运算符优先级的
:“
高于二进制减号。参见
?Syntax
这看起来像是用一个包含运行和的数学方程进行转置。对于循环,可能有一种不同的方法,没有任何
。但请告诉我们什么不起作用,或者更好地向我们展示当前和所需的数据输出。
    zcb_DEM <- matrix(nrow = 11, ncol = 160)
    for (i in 1:160 ) {

    zcb_DEM[1,i] <- 100/(100+DEM2[i,2])
    zcb_DEM[2,i] <- (100/100+DEM2[i,2])*(1-sum(zcb_DEM[1:1,i])*(DEM2[i,2]/100)) 
    zcb_DEM[3,i] <- (100/100+DEM2[i,3])*(1-sum(zcb_DEM[1:2,i])*(DEM2[i,3]/100))
    zcb_DEM[4,i] <- (100/100+DEM2[i,4])*(1-sum(zcb_DEM[1:3,i])*(DEM2[i,4]/100))
    zcb_DEM[5,i] <- (100/100+DEM2[i,5])*(1-sum(zcb_DEM[1:4,i])*(DEM2[i,5]/100))
    zcb_DEM[6,i] <- (100/100+DEM2[i,6])*(1-sum(zcb_DEM[1:5,i])*(DEM2[i,6]/100))
    zcb_DEM[7,i] <- (100/100+DEM2[i,7])*(1-sum(zcb_DEM[1:6,i])*(DEM2[i,7]/100))
    zcb_DEM[8,i] <- (100/100+DEM2[i,8])*(1-sum(zcb_DEM[1:7,i])*(DEM2[i,8]/100))
    zcb_DEM[9,i] <- (100/100+DEM2[i,9])*(1-sum(zcb_DEM[1:8,i])*(DEM2[i,9]/100))
    zcb_DEM[10,i] <- (100/100+DEM2[i,10])*(1-sum(zcb_DEM[1:9,i])*(DEM2[i,10]/100))
    zcb_DEM[11,i] <- (100/100+DEM2[i,11])*(1-sum(zcb_DEM[1:10,i])*(DEM2[i,11]/100))
    print(zcb_DEM)

 }
    for (i in 1:160) {
     for (j in 2:11) {
      zcb_DEM[1,i] <- 100/(100+DEM2[i,2])
      zcb_DEM[j,i] <- (100/100+DEM2[i,j])*(1-sum(zcb_DEM[1:j-1,i])*(DEM2[i,j]/100))
       print(zcb_DEM)
      }}
        [,155] [,156] [,157] [,158] [,159] [,160] ##this is the last block appearing in the console
 [1,]     NA     NA     NA     NA     NA     NA   ##for each row there is such a NA vector appearing
 [2,]     NA     NA     NA     NA     NA     NA
 [3,]     NA     NA     NA     NA     NA     NA
 [4,]     NA     NA     NA     NA     NA     NA
 [5,]     NA     NA     NA     NA     NA     NA
 [6,]     NA     NA     NA     NA     NA     NA
 [7,]     NA     NA     NA     NA     NA     NA
 [8,]     NA     NA     NA     NA     NA     NA
 [9,]     NA     NA     NA     NA     NA     NA
 [10,]     NA     NA     NA     NA     NA     NA
 [11,]     NA     NA     NA     NA     NA     NA
 There were 50 or more warnings (use warnings() to see the first 50)
    Warnmeldungen:
 1: In Ops.factor(100, DEM2[i, 2]) : ‘+’ not meaningful for factors
 2: In Ops.factor(100/100, DEM2[i, 2]) : ‘+’ not meaningful for factors
 3: In Ops.factor(DEM2[i, 2], 100) : ‘/’ not meaningful for factors
 4: In Ops.factor(100/100, DEM2[i, 3]) : ‘+’ not meaningful for factors
 5: In Ops.factor(DEM2[i, 3], 100) : ‘/’ not meaningful for factors
 6: In Ops.factor(100/100, DEM2[i, 4]) : ‘+’ not meaningful for factors
 7: In Ops.factor(DEM2[i, 4], 100) : ‘/’ not meaningful for factors
 8: In Ops.factor(100/100, DEM2[i, 5]) : ‘+’ not meaningful for factors
 9: In Ops.factor(DEM2[i, 5], 100) : ‘/’ not meaningful for factors
10: In Ops.factor(100/100, DEM2[i, 6]) : ‘+’ not meaningful for factors
11: In Ops.factor(DEM2[i, 6], 100) : ‘/’ not meaningful for factors
12: In Ops.factor(100/100, DEM2[i, 7]) : ‘+’ not meaningful for factors
13: In Ops.factor(DEM2[i, 7], 100) : ‘/’ not meaningful for factors
14: In Ops.factor(100/100, DEM2[i, 8]) : ‘+’ not meaningful for factors
15: In Ops.factor(DEM2[i, 8], 100) : ‘/’ not meaningful for factors
16: In Ops.factor(100/100, DEM2[i, 9]) : ‘+’ not meaningful for factors
17: In Ops.factor(DEM2[i, 9], 100) : ‘/’ not meaningful for factors
18: In Ops.factor(100/100, DEM2[i, 10]) : ‘+’ not meaningful for factors
19: In Ops.factor(DEM2[i, 10], 100) : ‘/’ not meaningful for factors
20: In Ops.factor(100/100, DEM2[i, 11]) : ‘+’ not meaningful for factors
21: In Ops.factor(DEM2[i, 11], 100) : ‘/’ not meaningful for factors
22: In Ops.factor(100, DEM2[i, 2]) : ‘+’ not meaningful for factors
23: In Ops.factor(100/100, DEM2[i, 2]) : ‘+’ not meaningful for factors
24: In Ops.factor(DEM2[i, 2], 100) : ‘/’ not meaningful for factors
25: In Ops.factor(100/100, DEM2[i, 3]) : ‘+’ not meaningful for factors
26: In Ops.factor(DEM2[i, 3], 100) : ‘/’ not meaningful for factors
27: In Ops.factor(100/100, DEM2[i, 4]) : ‘+’ not meaningful for factors
28: In Ops.factor(DEM2[i, 4], 100) : ‘/’ not meaningful for factors
29: In Ops.factor(100/100, DEM2[i, 5]) : ‘+’ not meaningful for factors
30: In Ops.factor(DEM2[i, 5], 100) : ‘/’ not meaningful for factors
31: In Ops.factor(100/100, DEM2[i, 6]) : ‘+’ not meaningful for factors
32: In Ops.factor(DEM2[i, 6], 100) : ‘/’ not meaningful for factors
33: In Ops.factor(100/100, DEM2[i, 7]) : ‘+’ not meaningful for factors
34: In Ops.factor(DEM2[i, 7], 100) : ‘/’ not meaningful for factors
35: In Ops.factor(100/100, DEM2[i, 8]) : ‘+’ not meaningful for factors
36: In Ops.factor(DEM2[i, 8], 100) : ‘/’ not meaningful for factors
37: In Ops.factor(100/100, DEM2[i, 9]) : ‘+’ not meaningful for factors
38: In Ops.factor(DEM2[i, 9], 100) : ‘/’ not meaningful for factors
39: In Ops.factor(100/100, DEM2[i, 10]) : ‘+’ not meaningful for factors
40: In Ops.factor(DEM2[i, 10], 100) : ‘/’ not meaningful for factors
41: In Ops.factor(100/100, DEM2[i, 11]) : ‘+’ not meaningful for factors
42: In Ops.factor(DEM2[i, 11], 100) : ‘/’ not meaningful for factors
43: In Ops.factor(100, DEM2[i, 2]) : ‘+’ not meaningful for factors
44: In Ops.factor(100/100, DEM2[i, 2]) : ‘+’ not meaningful for factors
45: In Ops.factor(DEM2[i, 2], 100) : ‘/’ not meaningful for factors
46: In Ops.factor(100/100, DEM2[i, 3]) : ‘+’ not meaningful for factors
47: In Ops.factor(DEM2[i, 3], 100) : ‘/’ not meaningful for factors
48: In Ops.factor(100/100, DEM2[i, 4]) : ‘+’ not meaningful for factors
49: In Ops.factor(DEM2[i, 4], 100) : ‘/’ not meaningful for factors
50: In Ops.factor(100/100, DEM2[i, 5]) : ‘+’ not meaningful for factors