R语言学习笔记(三):零碎知识点(1-10)
1--c()
c表示”连接“(concatenate)。
在R中向量是连续存储的,因此不能插入或删除元素。
2--seq()
seq()的特殊用法,可以用在for循环里for(i in seq())
> x <- c(2,3,4,5,7,3)
> seq(x)
[1] 1 2 3 4 5 6
> seq(6)
[1] 1 2 3 4 5 6
3--cumsum()
函数cumsum()它能计算向量的累计和(cumulative sums)
> a <- c(4,2,-3,8)
> cumsum(a)
[1] 4 6 3 11
4--cumprod()
相似的,cumprod()能计算向量的累积积(cumulative product)
> a <- c(4,2,-3,8)
> cumprod(a)
[1] 4 8 -24 -192
5--NA与NULL
NA是未知的,对其进行mean等计算依然是未知的。
> b <- c(1,NA, NULL)
> mean(b)
[1] NA
> mode(b)
[1] "numeric"
> mode(b[2])
[1] "numeric"
> mode(b[3])
[1] "numeric"
NA与NULL的长度
> length(NA)
[1] 1
> length(NULL)
[1] 0
6--subset()
可以用subset来剔除NA值,这个函数不用自己设定na.rm = TRUE
> a <- c(1,2,NA)
> subset(a, a > 1)
[1] 2
7--diff()与setdiff()
diff函数对向量做滞后运算
set(a, b)得到a中有b中没有的元素
> a <- c(4,3,6,8)
> diff(a)
[1] -1 3 2
> b <- c(4,5,6,7)
> setdiff(a,b)
[1] 3 8
8--sign()
sign()根据其参数向量中的数值是正值、零、负值将其分别转化为1,0,-1。
> a <- c(3,-4,5,0)
> sign(a)
[1] 1 -1 1 0
9--TRUE 与FALSE
逻辑值TRUE和FALSE可以缩写为T和F(两者必须都是大写),在算术表达式中他们会转化为0和1。
> mean(c(TRUE,FALSE))
[1] 0.5
> mean(TRUE,FALSE)#则不对
Error in mean.default(TRUE, FALSE) : 'trim'必需是长度必需为一的数值
> T+F
[1] 1
10--identical()
identical函数判断的是两个对象是否完全一样。
> a <- 1:2
> b <- c(1,2)
> identical(a, b)
[1] FALSE