R语言学习笔记(十):零碎知识点(21-25)

来源:互联网 时间:2017-09-17

21--assign()

assign函数可以通过变量名的字符串来赋值

> assign('a', 1:3)

> a

[1] 1 2 3

> b <- c('a')

> assign(b, 1:5)

> b

[1] "a"

> a

[1] 1 2 3 4 5

22--split()

split(x,f)

  • x 可以为向量或者数据框
  • f 为对应的因子
  • 函数以列表的形式返回

> a <- c(24,25,36,37)

> b <- c('q', 'w', 'q','w')

> split(a, b)

$q

[1] 24 36

$w

[1] 25 37

23--by()

by()函数与tapply()相似,by()可以用于数据框,而tapply不可以。

  • by函数里面调用的函数 f 的对象是数据框,比如下例中的summary换为mean就不行。

> a <- c(24,25,36,37)

> b <- c('q', 'w', 'q','w')

> tapply(a, b, mean)

q w

30 31

> by(a, b, mean)

b: q

[1] 30

---------------------------------------------

b: w

[1] 31

> by(warpbreaks[, 1:2], warpbreaks[,"tension"], summary)

warpbreaks[, "tension"]: L

breaks wool

Min. :14.00 A:9

1st Qu.:26.00 B:9

Median :29.50

Mean :36.39

3rd Qu.:49.25

Max. :70.00

---------------------------------------------

warpbreaks[, "tension"]: M

breaks wool

Min. :12.00 A:9

1st Qu.:18.25 B:9

Median :27.00

Mean :26.39

3rd Qu.:33.75

Max. :42.00

---------------------------------------------

warpbreaks[, "tension"]: H

breaks wool

Min. :10.00 A:9

1st Qu.:15.25 B:9

Median :20.50

Mean :21.67

3rd Qu.:25.50

Max. :43.00

24--addmargins( )

函数addmargins()可以计算数据框或者矩阵的边际值。

> a <- list(c(5,2,6,2,6,5,6),c('q','w','q','q','w','q','q'))

> b <- table(a)

> addmargins(b)

a.2

a.1 q w Sum

2 1 1 2

5 2 0 2

6 2 1 3

Sum 5 2 7

25--unique( )

函数unique()返回 x 但是省去重复的数值

> x <- c(3:5, 11:8, 8 + 0:5)

> unique(x)

[1] 3 4 5 11 10 9 8 12 13

相关阅读:
Top