Sunday, January 22, 2023

Convert long data format to wide data format in R

2. Create data set

Treatment = c(" Control"," Manure","Gypsum","compost"," Control"," Manure","Gypsum","compost"," Control"," Manure","Gypsum","compost")
made= c("Cylinder","Cylinder","Cylinder","Cylinder","made","made","made","made","engine","engine","engine","engine")
value = c("2.4","2.5","1.3","1.7","2.4","2.5","1.3","1.7","2.4","2.5","1.3","1.7")

4. bind the create variable into data frame

data <-cbind(Treatment,made,value) 

data <-data.frame(data)
data
Treatment     made     value
1    Control Cylinder   2.4
2     Manure Cylinder   2.5
3     Gypsum Cylinder   1.3
4    compost Cylinder   1.7
5    Control     made   2.4
6     Manure     made   2.5
7     Gypsum     made   1.3
8    compost     made   1.7
9    Control   engine   2.4
10    Manure   engine   2.5
11    Gypsum   engine   1.3
12   compost   engine   1.7
data_reshape1 <- reshape(data,                                 
                         idvar = "Treatment",
                         timevar = "made",
                         direction = "wide")
data_reshape1

3. Treatment value.Cylinder value.made value.engine

1   Control            2.4        2.4          2.4
2    Manure            2.5        2.5          2.5
3    Gypsum            1.3        1.3          1.3
4   compost            1.7        1.7          1.7

Delete the first column and renmae the rows with same names as first column contain.
data_reshape2 <-data_reshape1[,-1]
row.names(data_reshape1) <- paste("row", 1:nrow(data_reshape1))


No comments:

Post a Comment