У меня есть фрейм данных (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'
Есть ли эквивалентная строка кода, которая работает для фреймов данных вместо матричных объектов?
Любая помощь была бы признательна.
2 ответа
Используйте 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
Как отметил Мэтт Веллер, вы можете использовать функцию length
. Функция count
в plyr
может использоваться для возврата количества каждого уникального значения столбца.
which(df==my.val, arr.ind=TRUE)
Похожие вопросы
Связанные вопросы
Новые вопросы
r
R - это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, предоставьте минимальные и воспроизводимые примеры вместе с желаемым результатом. Используйте dput () для данных и укажите все небазовые пакеты с вызовами library (). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. По вопросам, связанным со статистикой, используйте https://stats.stackexchange.com.