如何将R数据帧的列转换为单个向量?

有时,数据框中的所有列都有代表特定变量的相似数据特征。例如,有一个包含五个列的数据框,每个列的高度都很高。要将这种类型的数据帧转换为向量,我们可以将as.vectorfunction和function一起使用as.matrix。在as.matrix将读取,使得值的阵列可以被创建的数据帧的列。

例1

考虑以下数据帧-

set.seed(101)

x1<−rnorm(20)

x2<−rnorm(20)

x3<−rnorm(20,5,0.34)

df1<−data.frame(x1,x2,x3)

df1

输出结果
x1 x2 x3

1 −0.3260365 −0.1637557 5.164036

2 0.5524619 0.7085221 5.257793

3 −0.6749438 −0.2679805 4.211429

4 0.2143595 −1.4639218 4.843768

5 0.3107692 0.7444358 4.624170

6 1.1739663 −1.4103902 5.136996

7 0.6187899 0.4670676 5.193438

8 −0.1127343 −0.1193201 4.759932

9 0.9170283 0.4672390 4.901369

10 −0.2232594 0.4981356 4.495481

11 0.5264481 0.8949372 4.608913

12 −0.7948444 0.2791520 4.906680

13 1.4277555 1.0078658 5.196486

14 −1.4668197 −2.0731065 4.525053

15 −0.2366834 1.1898534 5.254680

16 −0.1933380 −0.7243742 4.642597

17 −0.8497547 0.1679838 5.056229

18 0.0584655 0.9203352 5.384135

19 −0.8176704 −1.6716048 5.399066

20 −2.0503078 0.4484691 4.854527

将df1转换为向量-

示例

df1_vector<−as.vector(as.matrix(df1[,c("x1","x2","x3")]))

df1_vector

输出结果
[1] −0.3260365 0.5524619 −0.6749438 0.2143595 0.3107692 1.1739663

[7] 0.6187899 −0.1127343 0.9170283 −0.2232594 0.5264481 −0.7948444

[13] 1.4277555 −1.4668197 −0.2366834 −0.1933380 −0.8497547 0.0584655

[19] −0.8176704 −2.0503078 −0.1637557 0.7085221 −0.2679805 −1.4639218

[25] 0.7444358 −1.4103902 0.4670676 −0.1193201 0.4672390 0.4981356

[31] 0.8949372 0.2791520 1.0078658 −2.0731065 1.1898534 −0.7243742

[37] 0.1679838 0.9203352 −1.6716048 0.4484691 5.1640360 5.2577927

[43] 4.2114287 4.8437684 4.6241696 5.1369956 5.1934379 4.7599317

[49] 4.9013692 4.4954815 4.6089132 4.9066798 5.1964863 4.5250531

[55] 5.2546796 4.6425965 5.0562295 5.3841351 5.3990656 4.8545265

例2

y1<−sample(LETTERS[1:26],20)

y2<−sample(LETTERS[1:26],20)

y3<−sample(LETTERS[1:26],20)

y4<−sample(LETTERS[1:26],20)

df2<−data.frame(y1,y2,y3,y4)

df2

输出结果
  y1 y2 y3 y4

1  G V P Y

2  A J N A

3  E L X L

4  K E B O

5  P Z O E

6  W T T Z

7  X N J U

8  L D L J

9  U U Z X

10 Y B A F

11 F M W I

12 Q P F B

13 T Y H M

14 H C K T

15 I F Y W

16 N G G H

17 R A M K

18 S K E G

19 C O U Q

20 O W D V

将df2转换为向量-

示例

df2_vector<−as.vector(as.matrix(df2[,c("y1","y2","y3","y4")]))

df2_vector

输出结果
[1] "G" "A" "E" "K" "P" "W" "X" "L" "U" "Y" "F" "Q" "T" "H" "I" "N" "R" "S" "C"

[20] "O" "V" "J" "L" "E" "Z" "T" "N" "D" "U" "B" "M" "P" "Y" "C" "F" "G" "A" "K"

[39] "O" "W" "P" "N" "X" "B" "O" "T" "J" "L" "Z" "A" "W" "F" "H" "K" "Y" "G" "M"

[58] "E" "U" "D" "Y" "A" "L" "O" "E" "Z" "U" "J" "X" "F" "I" "B" "M" "T" "W" "H"

[77] "K" "G" "Q" "V"

以上是 如何将R数据帧的列转换为单个向量? 的全部内容, 来源链接: utcz.com/z/329679.html

回到顶部