0

任何 R 编程专家都可以帮助我解决这个组合向量问题吗?

R代码如下所示:

> maxTemps<-0
> for(i in printfilenames) {
+    file2 <- read.csv(i, row.names=1)
+    tempMax <-max(file2[1:145,1], na.rm=TRUE)
+    zero<-vector("numeric", 9)
+      for(i in tempMax) {
+         maxTemps<-tempMax+zero
+         print(tempMax)
+      }
+ }
[1] 24.3
[1] 24.1
[1] 19.4
[1] 21.2
[1] 25.4
[1] 28.7
[1] 22.7
[1] 23.2
[1] 24.2
> maxTemps
[1] 24.2 24.2 24.2 24.2 24.2 24.2 24.2 24.2 24.2

这基本上就是我得到的。

这个问题要求我的“maxTemps”输出应该是这样的:

[1] 24.3 24.1 19.4 21.2 25.4 28.7 22.7 23.2 24.2

但我得到:

[1] 24.2 24.2 24.2 24.2 24.2 24.2 24.2 24.2 24.2

任何人都可以请帮助我这里哪里出错了?非常感谢您的帮助。

谢谢!

4

2 回答 2

1

您的问题和代码非常令人困惑:

  1. 你执行

    maxTemps <- tempMax+zero
    

    在for 循环的每次迭代中,即执行完全相同的计算

  2. 你想结合什么向量?

  3. 您创建了一个零向量,zero,将零添加到任何东西有什么意义?

  4. 要回答有关输出的问题,您需要以下内容:

    maxTemps = numeric(length(tempMax))
    maxTemps[i] = tempMax[i] + zero[i]
    
    ##Or not inside the for loop
    maxTemps = tempMax + zero
    ##OR
    maxTemps = tempMax
    
于 2013-05-30T10:55:18.853 回答
0

我认为您正在寻找的是以下内容:

 max.temps <- rep(NA, length(printfilenames))

  for(i in 1:length(printfilenames)) {
    file2 <- read.csv(printfilenames[i], row.names=1)
    tempMax <-max(file2[1:145,1], na.rm=TRUE)
    max.temps[i] <- tempMax
   }

如果我理解正确,问题实际上并不是组合向量,而是计算单个值(每个文件的最大值)并将其插入向量中。

于 2013-05-30T13:25:37.840 回答