R语言学习笔记(十一):零碎知识点(26-30)

来源:转载

26--aggregate( )

函数aggregate()对分组中的每一个变量调用tapply()函数。

aggregate(a,list,f)

  • 第二个参数必须是列表。也就是因子部分。
  • 第三个参数即函数 f 并不是面向数据框

> aggregate(iris[, -5], list(iris$Species), mean)

Group.1 Sepal.Length Sepal.Width Petal.Length Petal.Width

1 setosa 5.006 3.428 1.462 0.246

2 versicolor 5.936 2.770 4.260 1.326

3 virginica 6.588 2.974 5.552 2.026

27--cut()

cut()函数是生成因子的常用的方法

cut(a,b,labels = FALSE)

  • a为数据向量
  • 由向量 b 定义区间,区间为左开右闭,(b[1], b[2] ]
  • labels = T 输出区间,labels = FALSE 输出对应的第几个区间。

> a <- c(.3, .4, .7, .2, .1)

> b <- seq(0, 1, 0.1)

> cut(a,b)

[1] (0.2,0.3] (0.3,0.4] (0.6,0.7] (0.1,0.2] (0,0.1]

10 Levels: (0,0.1] (0.1,0.2] (0.2,0.3] ... (0.9,1]

> cut(a, b, labels = F)

[1] 3 4 7 2 1

28--findInterval()

findInterval (x, vec)

  • x 为数据向量
  • vec为一个单调递增的向量来产生区间
  • 产生的区间默认为左闭右开

> x <- 2:18

> v <- c(5, 10, 15)

> findInterval(x, v)

[1] 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3

> cbind(x, findInterval(x, v))

x

[1,] 2 0

[2,] 3 0

[3,] 4 0

[4,] 5 1

[5,] 6 1

[6,] 7 1

[7,] 8 1

[8,] 9 1

[9,] 10 2

[10,] 11 2

[11,] 12 2

[12,] 13 2

[13,] 14 2

[14,] 15 3

[15,] 16 3

[16,] 17 3

[17,] 18 3

29--&&,||

&是向量的逻辑“与”运算符

&&是标量的逻辑“与”运算符,因此,&&作用在两向量上只会比较第一个元素。

|与||的情况也是一样的

> a <- c(T, T, F)

> b <- c(T, F, T)

> a&&b

[1] TRUE

> a&b

[1] TRUE FALSE FALSE

30--pmin( )

pmin( ), pmax( ):把多个等长度的向量按元素逐个对比。返回所有向量的第K个元素中最小(最大)值。

> pmin(c(1,5,3), c(2,3,4))

[1] 1 3 3

分享给朋友:
您可能感兴趣的文章:
随机阅读: