針對您的特殊情況下,你可以使用row_number()
:
library(dplyr)
iris %.%
group_by(Species) %.%
filter(row_number(Species) == 1)
## Source: local data frame [3 x 5]
## Groups: Species
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 7.0 3.2 4.7 1.4 versicolor
## 3 6.3 3.3 6.0 2.5 virginica
這將是0.2版本多了幾分自然的,因爲你可以省略 變量名:
# devtools::install_github("hadley/dplyr")
iris %.%
group_by(Species) %.%
filter(row_number() == 1)
## Source: local data frame [3 x 5]
## Groups: Species
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 7.0 3.2 4.7 1.4 versicolor
## 3 6.3 3.3 6.0 2.5 virginica
對於任意操作,do()
在0.2中更有用。你給它 任意表達式,使用.
作爲各組的佔位符:
iris %.%
group_by(Species) %.%
do(.[1, ])
## Source: local data frame [3 x 6]
## Groups: Species
##
## Species Sepal.Length Sepal.Width Petal.Length Petal.Width Species.1
## 1 setosa 5.1 3.5 1.4 0.2 setosa
## 2 versicolor 7.0 3.2 4.7 1.4 versicolor
## 3 virginica 6.3 3.3 6.0 2.5 virginica
你所說的「accesing組數據」意味着它是不完全清楚給我。你能詳細說一下嗎? –
我想在使用dplyr軟件包中的group_by函數並使用%之後訪問每個組。%db% – Chitrasen
您可以添加一個'summarize(myfun = myfun(column))'來處理myfun是自定義函數的塊大塊。如果您打開「瀏覽器」,您將能夠看到正在處理的值。 –