How to convert data frame values to a vector by rows in R?

R ProgrammingServer Side ProgrammingProgramming

Data can be supplied to us in any form but it is possible that it is not the appropriate one that should be used for analysis. Sometimes data is recorded in a data frame but we might need it as a vector. In such type of situation, we have to change the values of our data frame in a vector. This can be done by reading the data frame values by reading them as.vector after transposing the data frame with t.

Example

Consider the below data frame −

> x1<-rep(c(1,2,3,4,5),times=4)
> x2<-1:20
> x3<-rep(c(5,10,15,20),each=5)
> df<-data.frame(x1,x2,x3)
> df
  x1  x2 x3
 1 1  1  5
 2 2  2  5
 3 3  3  5
 4 4  4  5
 5 5  5  5
 6 1  6 10
 7 2  7 10
 8 3  8 10
 9 4  9 10
10 5 10 10
11 1 11 15
12 2 12 15
13 3 13 15
14 4 14 15
15 5 15 15
16 1 16 20
17 2 17 20
18 3 18 20
19 4 19 20
20 5 20 20
> as.vector(t(df))
[1] 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 1 6 10 2 7 10 3 8 10 4 9 10 5 10 10 1 11 15 2 12 15 3 13 15 4 14 15 5 15 15 1 16 20 2 17 20 3 18 20
[55] 4 19 20 5 20 20
> Vector_df<-as.vector(t(df))
> sum(Vector_df)
[1] 520
> mean(Vector_df)
[1] 8.666667

Let’s have a look at another example −

> y1<-20:1
> y2<-rep(c(2,4,6,8,10),times=4)
> y3<-c(22,25,27,21,18,19,28,24,29,15,27,24,16,18,28,17,18,26,23,22)
> df_y<-data.frame(y1,y2,y3)
> df_y
   y1 y2 y3
 1 20  2 22
 2 19  4 25
 3 18  6 27
 4 17  8 21
 5 16 10 18
 6 15  2 19
 7 14  4 28
 8 13  6 24
 9 12  8 29
10 11 10 15
11 10  2 27
12  9  4 24
13  8  6 16
14  7  8 18
15  6 10 28
16  5  2 17
17  4  4 18
18  3  6 26
19  2  8 23
20  1 10 22
> Vector_new<-as.vector(t(df_y))
> Vector_new
[1] 20 2 22 19 4 25 18 6 27 17 8 21 16 10 18 15 2 19 14 4 28 13 6 24 12 8 29 11 10 15 10 2 27 9 4 24 8 6 16 7 8 18 6 10 28 5 2 17 4 4 18 3 6 26
[55] 2 8 23 1 10 22
raja
Published on 12-Aug-2020 07:25:30
Advertisements