如何在R数据帧中将因子变量拆分为n个等于因子大小且具有全长的变量?

要将因子变量拆分为 n 个变量,其数量等于 R 数据帧中的全长因子大小,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用 qdapTools 包的 mtabulate 函数来拆分因子变量。

示例

创建数据框

让我们创建一个数据框,如下所示 -

factor<-factor(sample(LETTERS[1:4],25,replace=TRUE))
df<-data.frame(factor)
df
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

  factor
1  C
2  C
3  A
4  D
5  A
6  D
7  A
8  D
9  C
10 B
11 C
12 B
13 C
14 A
15 B
16 D
17 C
18 D
19 C
20 A
21 B
22 C
23 B
24 B
25 A

拆分因子变量

使用 qdapTools 包的 mtabulate 函数来拆分数据框 df 中的因子变量 -

factor<-factor(sample(LETTERS[1:4],25,replace=TRUE))
df<-data.frame(factor)
library(qdapTools)
mtabulate(df$factor)
输出结果
   A B C D
1  0 0 0 1
2  0 0 1 0
3  1 0 0 0
4  0 1 0 0
5  0 1 0 0
6  1 0 0 0
7  0 1 0 0
8  1 0 0 0
9  1 0 0 0
10 0 1 0 0
11 0 0 1 0
12 0 0 1 0
13 1 0 0 0
14 0 1 0 0
15 0 0 0 1
16 0 0 1 0
17 0 0 0 1
18 0 0 1 0
19 0 1 0 0
20 0 0 1 0
21 0 1 0 0
22 0 0 1 0
23 1 0 0 0
24 0 0 0 1
25 1 0 0 0

猜你喜欢