R 語言 資料切片,對每個切片組分別操作

2021-07-09 04:28:55 字數 1678 閱讀 4601

r語言中處理frame資料框,根據某一列進行切片分組,之後對每一組進行排序、挑選等操作。

在下面這個例子中,對於資料框,依據"group"列分為三組,對於每一組,我們依據"value"列進行排序,當出現排序值一樣的時候,再依據"number"進行排序:

> group <- sample(letters[1:3],10,replace=true)

> number <- sample(1:4,10,replace=true)

> value <- sample(c(1.2,2.1,0.5,0.8,1.5),10,replace=true)

> testdata <- data.frame(group,number,value)

> groupdata <- split(testdata, testdata$group)

> groupdata

$a group number value

3 a 4 0.8

4 a 4 0.8

5 a 3 1.2

$b group number value

2 b 3 1.2

6 b 3 2.1

8 b 3 1.2

$c group number value

1 c 1 2.1

7 c 4 1.2

9 c 2 1.5

10 c 3 1.5

> orderdata

$a group number value

3 a 4 0.8

4 a 4 0.8

5 a 3 1.2

$b group number value

2 b 3 1.2

8 b 3 1.2

6 b 3 2.1

$c group number value

7 c 4 1.2

9 c 2 1.5

10 c 3 1.5

1 c 1 2.1

> selectdata

a b c

group factor,1 factor,1 factor,1

number 4 3 2

value 0.8 1.2 1.5

> selectdata

a b c

group factor,1 factor,1 factor,1

number na na 1

value na na 2.1

>

解釋:

在上邊**中 ,

groupdata <- split(testdata, testdata$group) 語句把資料框分片;

python切片的物件 Python切片物件和

python中是否存在某種內部機制,它以不同的方式處理傳遞給 getitem 的引數,並自動將start stop step構造轉換為片?在 這是我的意思class exampleclass object def getitem self,args return args def call self...

Go語言切片

go語言切片 go語言切片是對陣列的抽象 go 陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別切片 動態陣列 與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。宣告乙個未指定大小的陣列來定義切片 var identifier ...

go語言 切片

一 概述 low 陣列下標的起點 high 陣列下標的結束點 不包括此點 arr low arr high len 長度 high low cap 容量 max low 二 切片的長度與容量 package main import fmt func main slice arr 0 3 5 fmt....