需要转置应用每一步的输出

时间:2017-12-04 16:45:41

标签: r apply transpose

我想逐行填充矩阵,将函数应用到上一行以生成下一行。我是新手试图使用<form method="GET" action="list" id="searchform" name="searchform"> <input type="text" name="search1"> <input type="text" name="search2"> <input type="text" name="search3"> <button type="submit" id="submitz">Submit</button> </form> 而不是显而易见的apply循环。但是,因为for将结果作为列向量返回,所以当它移动到下一行时,该行没有必要的内容。这是一个示例,其中每一行应该是前一行的两倍,带有一个起始行。

apply

我想要的是这样的:

trial <- matrix(ncol = 3, nrow = 5)
trial[1,] <- c(1, 2, 3)
trial[2:5, ] <- apply(trial[1:4, ], MARGIN = 1, function(x) (x * 2))
trial
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2   NA   NA
[3,]    4   NA   NA
[4,]    6   NA   NA
[5,]   NA   NA   NA

我没有看到在for(i in 2:5){ trial[i,] <- trial[i-1,] * 2 } [,1] [,2] [,3] [1,] 1 2 3 [2,] 2 4 6 [3,] 4 8 12 [4,] 8 16 24 [5,] 16 32 48 内部或外部使用转置的方法,以使其在行向下时返回行向量。 apply这里的解决方案不正确吗?我是否努力避免apply循环并按R方式执行操作?

0 个答案:

没有答案