数据框的列可以通过name
(与colname
相同)提取,但不能提取rowname
。示例数据帧:
> dbar
aa bb cc
r1 1 one 1e+01
r2 2 two 1e+01
r3 3 three 1e+01
r4 4 four 1e+01
r5 5 five 1e+01
Rgames> dbar$aa
[1] 1 2 3 4 5
Rgames> dbar$r2 #doesn't work
NULL
# have to to something like
Rgames> subset(dbar,rownames(dbar) =='r3') #or dbar[rownames(dbar=='r3'),]
aa bb cc
r3 3 three 1e+01
我可以看到允许df$somename
搜索行名称意味着要求data.frame
函数验证所有列和行名称是否唯一。所以,我问了太多:-)还是我应该坚持上面使用的方法?
答案 0 :(得分:3)
这是一个有点开放的问题,但是如果你按行进行子集化并希望使用rowname,@ rmk是正确的。
示例数据框:
DF <- data.frame(A = rep(c(1,2), 5), B = rep(10, 10))
row.names(DF) <- letters[1:10]
DF["a",]
返回:
A B
a 1 10
或者您可以使用行索引DF[1,]
。