如何串联R数据框中的数字列?

如果我们将值分散在R数据帧的多个列中,则需要将它们组合并创建一个列,这种组合过程称为串联。值的分散性大多发生在数据没有正确格式化为要加载到R中的情况下。因此,要解决此分散性问题,我们需要使用apply函数。

考虑以下数据帧-

示例

x1<-rpois(20,5)

y1<-rpois(20,5)

z1<-rpois(20,5)

a1<-rpois(20,5)

df1<-data.frame(x1,y1,z1,a1)

df1

输出结果
  x1 y1 z1 a1

1 3  2  1  8

2 5  2  5  8

3 9  4  1  4

4 3  4  4  4

5 5  4  4  4

6 6  5  5  3

7 5  5  5  6

8 7  3  6  4

9 5  7  6  8

10 3 3  4  5

11 7 4  4  8

12 4 3  2  4

13 6 3  6  6

14 7 5  3  1

15 6 9  8  3

16 9 6  11 6

17 5 5  6  6

18 2 4  4  9

19 1 8  2  4

20 11 4 4  2

通过串联df1所有列中的值在df1中创建新列-

示例

df1$all<-apply(df1,1,paste,collapse="")

df1

输出结果
  x1 y1 z1 a1 all

1 3  2  1  8  3218

2 5  2  5  8  5258

3 9  4  1  4  9414

4 3  4  4  4  3444

5 5  4  4  4  5444

6 6  5  5  3  6553

7 5  5  5  6  5556

8 7  3  6  4  7364

9 5  7  6  8  5768

10 3 3  4  5  3345

11 7 4  4  8  7448

12 4 3  2  4  4324

13 6 3  6  6  6366

14 7 5  3  1  7531

15 6 9  8  3  6983

16 9 6  11 6  96116

17 5 5  6  6  5566

18 2 4  4  9  2449

19 1 8  2  4  1824

20 11 4 4  2  11442

示例

x2<-sample(LETTERS[1:4],20,replace=TRUE)

y2<-sample(LETTERS[1:4],20,replace=TRUE)

z2<-sample(LETTERS[1:4],20,replace=TRUE)

df2<-data.frame(x2,y2,z2)

df2

输出结果
  x2 y2 z2

1 D  D  C

2 D  D  C

3 C  D  A

4 D  D  D

5 A  C  B

6 A  D  A

7 B  B  D

8 B  C  A

9 D  A  C

10 A A  B

11 B D  D

12 A D  C

13 D C  C

14 C A  B

15 A D  A

16 A D  C

17 D C  A

18 A B  B

19 D A  C

20 D B  C

通过串联df2的所有列中的值在df2中创建新列-

示例

df2$all<-apply(df2,1,paste,collapse="")

df2

输出结果
 x2 y2 z2 all

1 D D  C  DDC

2 D D  C  DDC

3 C D  A  CDA

4 D D  D  DDD

5 A C  B  ACB

6 A D  A  ADA

7 B B  D  BBD

8 B C  A  BCA

9 D A  C  DAC

10 A A B  AAB

11 B D D  BDD

12 A D C  ADC

13 D C C  DCC

14 C A B  CAB

15 A D A  ADA

16 A D C  ADC

17 D C A  DCA

18 A B B  ABB

19 D A C  DAC

20 D B C  DBC

以上是 如何串联R数据框中的数字列? 的全部内容, 来源链接: utcz.com/z/342921.html

回到顶部