Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
443 views
in Technique[技术] by (71.8m points)

r - Subset data frame using row names

I have a data frame like this:

       x1    x2    x3
271    3     5      2
553    2     4      1
563    2     5      3

When I try to select a row based on the row name, e.g. 271, it errors:

df[271, ]
# Error in xj[i, , drop = FALSE] : subscript out of bounds

How can I select these rows based on the row names (e.g. 271, 553, 563)?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You need to reference the rownames of your data.frame:

dfsub[rownames(dfsub) == 271,] #where dfsub is your subsetted data.frame

EDIT:

as @koekenbakker commented, there is a shorthand to reference the rownames by using ''. So this would be:

dfsub['271',] #where dfsub is your subsetted data.frame and 271 the rowname

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...