如何在R中的新行中打印向量的每个元素?

问题描述 投票:0回答:2

我有一个包含数字的向量: x = (1,2,...,n).

print(x)

输出:

[1]  1  2  3  4  5  6  7  8  9 10

我想打印这个向量,但每个元素都在一个新行中。 所需输出:

[1] 1
[2] 2
[3] 3
...

我怎样才能实现这个目标?我想不通。

(这种类型的输出在 Hackerrank 挑战中很常见。)

提前谢谢您!

r printing
2个回答
3
投票

所有建议都会打印列中的值,但与所需的输出不匹配,因为它们不包含每个元素的索引值。最简单的方法是转换为矩阵:

t(t(x))
#       [,1]
#  [1,]    1
#  [2,]    2
#  [3,]    3
#  [4,]    4
#  [5,]    5
#  [6,]    6
#  [7,]    7
#  [8,]    8
#  [9,]    9
# [10,]   10

或者不那么神秘

matrix(x, length(x))

它们也不完全匹配,但它们保留了原始索引值。如果你确实需要删除括号中的 , ,这样就可以了:

y <- data.frame(x)
rownames(y) <- paste0("[", 1:10, "]")
y
#       x
# [1]   1
# [2]   2
# [3]   3
# [4]   4
# [5]   5
# [6]   6
# [7]   7
# [8]   8
# [9]   9
# [10] 10

0
投票

另一种方法是减小屏幕的宽度,使向量元素一个一个地列在另一个下面,并且它们的索引。然后,您只需再次增大宽度即可。

options(width = 5)
print(x)
options(width = 150)
© www.soinside.com 2019 - 2024. All rights reserved.