我有一个数据框(df)
,我想知道如何在同一数据框的(2585)
中返回特定值4th column (height_chad1)
的行号?
我试过了:
row(mydata_2$height_chad1, 2585)
和我收到以下错误:
Error in factor(.Internal(row(dim(x))), labels = labs) :
a matrix-like object is required as argument to 'row'
是否存在适用于数据帧而非类似矩阵对象的等效代码行?
任何帮助将不胜感激。
答案 0 :(得分:57)
使用which(mydata_2$height_chad1 == 2585)
简短的例子
df <- data.frame(x = c(1,1,2,3,4,5,6,3),
y = c(5,4,6,7,8,3,2,4))
df
x y
1 1 5
2 1 4
3 2 6
4 3 7
5 4 8
6 5 3
7 6 2
8 3 4
which(df$x == 3)
[1] 4 8
length(which(df$x == 3))
[1] 2
count(df, vars = "x")
x freq
1 1 2
2 2 1
3 3 2
4 4 1
5 5 1
6 6 1
df[which(df$x == 3),]
x y
4 3 7
8 3 4
如Matt Weller所述,您可以使用length
功能。
count
中的plyr
函数可用于返回每个唯一列值的计数。
答案 1 :(得分:0)
which(df==my.val, arr.ind=TRUE)