如何进行垂直输出而不是水平输出?

时间:2014-04-18 18:40:54

标签: r output-formatting

我试图将特定函数的水平输出转换为垂直输出,我试图找出“cat”函数,但无法找到这样做的方法。我关注的功能如下:

 context <- function (a,b,c)
 {
 U=matrix(0, nrow = c, ncol = c)
 t = 0.4
 m = 0.2
 for (i in 1:c)
 { 
 U[i] = t*a + b/i - 0.224
 }
 cat(U)
 }
 context(2,3,7)

我得到的输出是:

 3.576 2.076 1.576 1.326 1.176 1.076 1.004571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

但是,我不知道我是通过操纵函数本身来以垂直方式输出。 如果我能得到帮助,我将不胜感激。

非常感谢你!

2 个答案:

答案 0 :(得分:2)

我不明白为什么要创建所有这些零。

也许您想要退回矩阵?

context <- function (a,b,c)
{
  t = 0.4
  m = 0.2
  U = t*a + b/seq_len(c) - 0.224
  as.matrix(U)
}

context(2,3,7)

#         [,1]
#[1,] 3.576000
#[2,] 2.076000
#[3,] 1.576000
#[4,] 1.326000
#[5,] 1.176000
#[6,] 1.076000
#[7,] 1.004571

答案 1 :(得分:0)

t(data)可能是更好的解决方案。

有关详细信息,请查看:https://www.r-statistics.com/tag/transpose/

相关问题