你不完全清楚你在這裏想達到什麼。從你想要的輸出中,我知道你正試圖把表格寫入控制檯乾淨。你的做法是正確使用基本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))' –