
136
|
第
5
章
现在 R 知道 f 是一个有五个可能水平的因子。它也知道它们的正确顺序。R 软件最初
在星期二之前放置星期四,因为它默认采用字母顺序。levels 参数明确定义了正确的
顺序。
在许多情况下,没有必要显式地调用函数 factor。当 R 函数需要因子时,它通常会自
动将数据转换为因子。例如,table 函数仅适用于因子变量,因此它会自动地将输入转
换为因子。如果要指定全部水平取值或当需要控制水平的顺序时,必须显式地创建因子
变量。
5.4.4 另请参阅
有关从连续数据创建一个因子,请参阅 12.5 节。
5.5 将多个向量合并成单个向量以及一个平行因子
5.5.1 问题
有几组数据,每组包含一个向量。需要将这些向量合并成一个长向量,并且同时创建一
个平行因子来识别每个值的原始组。
5.5.2 解决方案
创建一个列表来包含这些向量。运用 stack 函数将列表合并成一个两列数据框:
comb <- stack(list(v1 = v1, v2 = v2, v3 = v3)) # Combine 3 vectors
该数据框的两个列称为 values 和 ind。第一列包含数据,第二列包含它的平行因子。
5.5.3 讨论
为何将所有数据混合成一个长向量和一个平行因子?原因是许多重要的统计函数需要该
格式的数据。
假设你对大一新生、大二学生和大三学生的自信心水平进行调查(比如“你在学校里
感到自信的时间百分比是多少?”)。现在有三个向量,分别是 freshmen(大一新生)、
sophomores(大二学生 ...