我有一个包含数字的向量: x = (1,2,...,n).
print(x)
输出:
[1] 1 2 3 4 5 6 7 8 9 10
我想打印这个向量,但每个元素都在一个新行中。 所需输出:
[1] 1
[2] 2
[3] 3
...
我怎样才能实现这个目标?我想不通。
(这种类型的输出在 Hackerrank 挑战中很常见。)
提前谢谢您!
所有建议都会打印列中的值,但与所需的输出不匹配,因为它们不包含每个元素的索引值。最简单的方法是转换为矩阵:
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
另一种方法是减小屏幕的宽度,使向量元素一个一个地列在另一个下面,并且它们的索引。然后,您只需再次增大宽度即可。
options(width = 5)
print(x)
options(width = 150)