首先,c(
例如
先输入
> y <- c("郭靖", "黄蓉", "老顽童")
再输入
> y
得到的结果是
[1] "郭靖 "黄蓉" "老顽童"
有数字型(numeric)、字符型(character)、逻辑型(logical)这几种类型的相量(vector)
输入
> class(y)
得到
[1] "character"
输入
> y[2]
得到
[1] "黄蓉"
factor的作用是打上标签或者类别
首先建立一个相量(vector)
> sample <- rep(c("CK","TR"), each=5)
其实就是
> sample <- c("CK","CK","CK","CK","CK","TR","TR","TR","TR","TR")
两个结果是一样的。
然后输入
> sample
结果是
[1] "CK" "CK" "CK" "CK" "CK" "TR" "TR" "TR" "TR" "TR"
这只是一个普通数组
然后输入下面
> sample<- factor(sample)
将数组给因子(factor)化,其实就是让向量里面的每个因素成为一个标签
再输入
> sample
得到
[1] CK CK CK CK CK TR TR TR TR TR
Levels: CK TR
其中Levels是种类
现在用这个标签化向量去给别的数组归类或者叫做打标签
新建一个相量
> value <- rnorm(10)
然后
> value
得到一组随机数
[1] -0.61044460 -0.11117008 1.03011363 -0.46245676 -1.90394146 0.68187099
[7] -0.77040024 -2.19241355 -0.08284189 -1.38913903
然后给他们打标签并且给标签取平均值。
> tapply(value, sample, mean)
得到
CK TR
-0.4115799 -0.7505847
两个标签分别对应的平均值。
再试一次
新建一个相量
>value2 <-c(1,2,3,4,5,6,7,8,9,10)
然后
> tapply(value2, sample, mean)
结果是
CK TR
3 8
其中tapply是分组统计函,数摘抄一段
使用格式为:
关于factor再举一例
输入
>gender <- factor(c("MALE", "FEMALE", "MALE","MALE"))
>gender
[1] MALE FEMALE MALE MALE
Levels: FEMALE MALE
种类是两个
再一个例子
> blood <- factor(c("O", "AB", "A"),
+ levels = c("A", "B", "AB", "O"))
> blood
[1] O AB A
Levels: A B AB O
虽然样本是三种血型,但是种类实际是四种。