1
我想子集數據框以收集來自所有列的信息。使用dplyr過濾器條件對數據集進行子集化
我會使用msleep
數據集來解釋這個問題。
library(msleep)
我看了一列genus
頻率的頻率來看看頻率的分佈。
msleep %>% count(genus) %>% count(n)
## A tibble: 3 × 2
# n nn
# <int> <int>
#1 1 73
#2 2 2
#3 3 2
我想提取主列中所有行的值都是兩次。
msleep %>% count(genus) %>% filter(n==2)
## A tibble: 2 × 2
# genus n
# <chr> <int>
#1 Equus 2
#2 Vulpes 2
如何實現以下預期輸出?
預期輸出:
msleep[msleep$genus %in% c('Equus','Vulpes'),]
## A tibble: 4 × 11
# name genus vore order conservation sleep_total sleep_rem sleep_cycle awake brainwt bodywt
# <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 Horse Equus herbi Perissodactyla domesticated 2.9 0.6 1.00 21.1 0.6550 521.00
#2 Donkey Equus herbi Perissodactyla domesticated 3.1 0.4 NA 20.9 0.4190 187.00
#3 Arctic fox Vulpes carni Carnivora <NA> 12.5 NA NA 11.5 0.0445 3.38
#4 Red fox Vulpes carni Carnivora <NA> 9.8 2.4 0.35 14.2 0.0504 4.23
得到預期的輸出的任何替代方式也被理解。
ps:有沒有更好的方法來查看頻率的頻率?或查看過濾條件(這裏:n == 2)?
感謝您有用的答案。查看頻率的最佳方法是什麼? – Prradep
@Praded對不起,我沒有得到你的問題。你是否想要獲得一定比例的頻率? – akrun
對不起,不清楚。如何查看列屬的值的頻率分佈/概要?我的意思是如何以更好的方式實現'msleep%>%count(genus)%>%count(n)'的輸出? – Prradep