【发布时间】:2013-03-30 10:24:47
【问题描述】:
考虑具有自定义行名的数据框:
> data <- data.frame(a=1:3,b=2:4,c=3:5,row.names=c("x","y","z"))
> data
a b c
x 1 2 3
y 2 3 4
z 3 4 5
如果我选择多于一列,R 会将它们与行名一起打印出来:
> data[,c("a","c")]
a c
x 1 3
y 2 4
z 3 5
但如果我选择只有一列,R 会将其打印为一个简单的向量,不带行名:
> data[,"c"]
[1] 3 4 5
我的问题是,我如何告诉 R 以与打印多列相同的方式打印 一列,即 带有行名?
【问题讨论】:
-
@user1981275 的答案有效,因为当您使用 [, "c"] 进行子集化时,R 会尝试简化对象类。告诉他不要“丢弃”它,保留你的 data.frame 类。