你不完全清楚你在这里想达到什么。从你想要的输出中,我知道你正试图把表格写入控制台干净。你的做法是正确使用基本R.
数据
sv<-(1:4)
names(sv)<-c("Al", "BetaRay", "Gamma", "Zabracadabra")
# Method-1: Print.dataframe the vector in a horizontal layout.
# However, the label appears as a column name.
sv<-unname(data.frame(sv)) # as suggested by @DirtySockSniffer
dim(sv)
[1] 4 1
注意:你有4行的1列数据。你看到的是rownames, 当你说“标签显示为列名称”时,我希望你不要误会。
print(sv) # is exactly doing what you need
Al 1
BetaRay 2
Gamma 3
Zabracadabra 4
# Method-2: Write.table. But the text wrapped to the row names.
注意:文本没有包装到行名称中,它只是显示如此。 write.table的主要用途是将数据框写入文件。我不认为建议您将数据打印到控制台。但是,当您指定分隔符时,它可以显示一些区别。但是,这不是一个有效的方法。
write.table(sv, col.names = FALSE, quote = FALSE, sep = "\t") # use a tab separator
Al 1
BetaRay 2
Gamma 3
Zabracadabra 4
# Other options require you to use some package to print cleanly to console.
# install.packages("knitr")
require(knitr)
kable(sv)
| | sv|
|:------------|--:|
|Al | 1|
|BetaRay | 2|
|Gamma | 3|
|Zabracadabra | 4|
DataTable的方式(更有效地在我看来,如果你希望做你的数据帧的任何进一步的处理)。但是,数据表不支持默认数值行名行名字中产生。如果您的数据框中有行名称,您将被迫创建一列rn
。但是,它会干净地写入控制台。
require(data.table)
data.table(sv,keep.rownames = T)
rn sv
1: Al 1
2: BetaRay 2
3: Gamma 3
4: Zabracadabra 4
不是很确定你想要什么,但尝试'unname(data.frame(sv))' –