我在r中有一个包含200列和18行的数据框(df)。列具有人名,行名称为年(格式化为" X2015"," X2016"等)。数据框中的值是个人在某一年收到的成绩数。例如:
Jen Fred Alex John
X2010 55 265 436 409
X2011 54 261 456 417
X2012 54 263 494 415
X2013 52 253 526 419
X2014 52 250 556 426
我正在努力确定亚历克斯收到500多个年级的年份。
到目前为止,我已尝试过以下方法,其中没有一项有效:
subset(df,select="Alex", df$Alex>500)
df[df$Alex>500,]
除了这些的许多变化。任何帮助或建议将不胜感激!
答案 0 :(得分:1)
使用:
row.names(df)[df$Alex > 500]
或
row.names(df[df$Alex > 500,])
两者都将返回满足Alex超过500的条件的行名。
如果您只想获得年数(不含“X”),请执行以下操作:
Xyear <- row.names(df[df$Alex > 500,])
year <- substring(Xyear,2)