如何将R数据帧的列转换为行?
如果将行值错误地记录到列中,那么我们可能希望将列转换成行。因此,要将R数据帧的列转换为行,我们可以使用转置函数t。例如,如果我们有一个包含五列五行的数据帧df,则可以使用as.data.frame(t(df))将df的列转换为行。
示例
set.seed(4)x1<-rnorm(5,10,2)
x2<-letters[1:5]
x3<-1:5
df1<-data.frame(x1,x2,x3)
df1
输出结果
x1 x2 x31 10.433510 a 1
2 8.915015 b 2
3 11.782289 c 3
4 11.191961 d 4
5 13.271236 e 5
将df1的列转换为行-
示例
df1_new<-as.data.frame(t(df1))df1_new
输出结果
V1 V2 V3 V4 V5x1 10.433510 8.915015 11.782289 11.191961 13.271236
x2 a b c d e
x3 1 2 3 4 5
示例
a<-sample(0:1,20,replace=TRUE)b<-sample(0:5,20,replace=TRUE)
c<-sample(1:10,20,replace=TRUE)
d<-sample(6:10,20,replace=TRUE)
df2<-data.frame(a,b,c,d)
df2
输出结果
a b c d1 0 3 5 10
2 1 4 9 10
3 1 4 2 9
4 1 5 10 7
5 1 4 4 6
6 1 0 8 6
7 1 5 10 9
8 0 2 2 6
9 1 5 10 9
10 0 4 6 9
11 0 3 10 9
12 0 0 6 10
13 0 3 1 10
14 0 5 4 7
15 1 2 2 10
16 1 4 4 10
17 0 3 3 8
18 0 3 1 7
19 1 5 7 9
20 1 5 7 7
将df2的列转换为行-
示例
df2_new<-as.data.frame(t(df2))df2_new
输出结果
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20a 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1
b 3 4 4 5 4 0 5 2 5 4 3 0 3 5 2 4 3 3 5 5
c 5 9 2 10 4 8 10 2 10 6 10 6 1 4 2 4 3 1 7 7
d 10 10 9 7 6 6 9 6 9 9 9 10 10 7 10 10 8 7 9 7
示例
y1<-LETTERS[1:20]y2<-letters[1:20]
y3<-sample(LETTERS[1:4],20,replace=TRUE)
df3<-data.frame(y1,y2,y3)
df3
输出结果
y1 y2 y31 A a A
2 B b A
3 C c D
4 D d C
5 E e C
6 F f B
7 G g A
8 H h C
9 I i B
10 J j A
11 K k A
12 L l C
13 M m C
14 N n A
15 O o A
16 P p C
17 Q q D
18 R r D
19 S s D
20 T t D
将df3的列转换为行-
示例
df3_new<-as.data.frame(t(df3))df3_new
输出结果
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20y1 A B C D E F G H I J K L M N O P Q R S T
y2 a b c d e f g h i j k l m n o p q r s t
y3 A A D C C B A C B A A C C A A C D D D D
示例
z1<-rpois(20,10)z2<-rpois(20,5)
z3<-rpois(20,8)
z4<-rpois(20,4)
df4<-data.frame(z1,z2,z3,z4)
df4
输出结果
z1 z2 z3 z41 10 11 13 2
2 8 3 9 2
3 6 4 10 3
4 16 6 10 4
5 9 7 5 8
6 4 5 5 3
7 7 4 3 2
8 8 2 9 3
9 12 6 9 4
10 15 7 9 3
11 8 5 10 2
12 20 4 6 4
13 5 4 10 8
14 10 2 8 1
15 20 5 9 3
16 5 5 8 5
17 13 5 8 6
18 7 1 14 3
19 12 2 9 6
20 9 8 11 2
将df4的列转换为行-
示例
df4_new<-as.data.frame(t(df4))df4_new
输出结果
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20z1 10 8 6 16 9 4 7 8 12 15 8 20 5 10 20 5 13 7 12 9
z2 11 3 4 6 7 5 4 2 6 7 5 4 4 2 5 5 5 1 2 8
z3 13 9 10 10 5 5 3 9 9 9 10 6 10 8 9 8 8 14 9 11
z4 2 2 3 4 8 3 2 3 4 3 2 4 8 1 3 5 6 3 6 2
以上是 如何将R数据帧的列转换为行? 的全部内容, 来源链接: utcz.com/z/352447.html