Bài tập biên tập dữ liệu 1

d1= read.csv ("C:/Users/ADMIN/OneDrive/Statistical courses/Dinh Tien Hoang-Jun2019/Datasets cho thuc hanh/Du lieu theo thoi gian 1.csv")
names (d1)
## [1] "id"    "Group" "W1"    "W2"    "W5"
d1
##    id Group W1 W2 W5
## 1 101     A 15 17 29
## 2 102     A 21 26 31
## 3 103     B  5 17 21
## 4 104     B 11 10  8

Biến đổi từ cột sang dòng

library (reshape2)
d2= melt(d1, id= c("id", "Group"), measure.vars= c("W1", "W2", "W5"))
d2
##     id Group variable value
## 1  101     A       W1    15
## 2  102     A       W1    21
## 3  103     B       W1     5
## 4  104     B       W1    11
## 5  101     A       W2    17
## 6  102     A       W2    26
## 7  103     B       W2    17
## 8  104     B       W2    10
## 9  101     A       W5    29
## 10 102     A       W5    31
## 11 103     B       W5    21
## 12 104     B       W5     8

Đặt tên lại biến số

names (d2)[names(d2)=='variable']= 'W'
names (d2)[names(d2)=='value']= 'W.value'
d2
##     id Group  W W.value
## 1  101     A W1      15
## 2  102     A W1      21
## 3  103     B W1       5
## 4  104     B W1      11
## 5  101     A W2      17
## 6  102     A W2      26
## 7  103     B W2      17
## 8  104     B W2      10
## 9  101     A W5      29
## 10 102     A W5      31
## 11 103     B W5      21
## 12 104     B W5       8

Chuyển trở lại dữ liệu gốc

#cách thứ nhất
d3= dcast(d2, id + Group ~ W)
## Using W.value as value column: use value.var to override.
d3
##    id Group W1 W2 W5
## 1 101     A 15 17 29
## 2 102     A 21 26 31
## 3 103     B  5 17 21
## 4 104     B 11 10  8
#cách thứ hai
d3= acast(d2, id + Group ~ W)
## Using W.value as value column: use value.var to override.
d3
##       W1 W2 W5
## 101_A 15 17 29
## 102_A 21 26 31
## 103_B  5 17 21
## 104_B 11 10  8

Bài tập biên tập dữ liệu 2

d4= read.csv ("C:/Users/ADMIN/OneDrive/Statistical courses/Dinh Tien Hoang-Jun2019/Datasets cho thuc hanh/du lieu theo thoi gian 2.csv")
d4
##   id age sex   wc1   wc2  wc3  wc4  wc5 hip1 hip2 hip3 hip4 hip5
## 1  3  20   M 101.0  97.0 95.0 94.5 94.0 95.0 95.0 93.0 90.5 90.5
## 2 37  32   M  88.5  89.0 87.0 85.0 84.5 89.5 89.5 88.0 86.0 85.0
## 3 39  27   M  97.0  93.0 90.0 88.0 87.0 90.5 88.5 88.0 86.0 85.0
## 4  1  29   F  93.0  94.0 90.0 85.0 84.0 89.5 87.5 87.0 80.0 80.0
## 5  2  22   F  86.5  88.5 84.0 82.0 81.0 83.0 80.4 79.0 78.0 76.5
## 6  5  50   F  96.0 102.0 96.0 90.0 92.5 95.0 94.6 90.5 92.0 91.0
## 7  6  20   F  84.5  88.5 82.0 80.0 79.5 79.0 82.0 78.0 76.5 77.0
## 8  7  21   F  88.0  90.0 88.0 82.5 81.0 85.5 86.5 83.0 80.0 79.5
## 9  8  23   F  87.5  85.0 83.5 78.0 75.0 80.5 80.0 75.0 77.0 73.0

Chuyển từ cột sang dòng lần 1

d5= melt (d4, id= c("id", "age", "sex"), measure.vars= c("wc1", "wc2", "wc3", "wc4", "wc5"))
names (d5)[names (d5)=='variable']= 'WC'
names (d5)[names (d5)=='value']= 'WC.value'
d5
##    id age sex  WC WC.value
## 1   3  20   M wc1    101.0
## 2  37  32   M wc1     88.5
## 3  39  27   M wc1     97.0
## 4   1  29   F wc1     93.0
## 5   2  22   F wc1     86.5
## 6   5  50   F wc1     96.0
## 7   6  20   F wc1     84.5
## 8   7  21   F wc1     88.0
## 9   8  23   F wc1     87.5
## 10  3  20   M wc2     97.0
## 11 37  32   M wc2     89.0
## 12 39  27   M wc2     93.0
## 13  1  29   F wc2     94.0
## 14  2  22   F wc2     88.5
## 15  5  50   F wc2    102.0
## 16  6  20   F wc2     88.5
## 17  7  21   F wc2     90.0
## 18  8  23   F wc2     85.0
## 19  3  20   M wc3     95.0
## 20 37  32   M wc3     87.0
## 21 39  27   M wc3     90.0
## 22  1  29   F wc3     90.0
## 23  2  22   F wc3     84.0
## 24  5  50   F wc3     96.0
## 25  6  20   F wc3     82.0
## 26  7  21   F wc3     88.0
## 27  8  23   F wc3     83.5
## 28  3  20   M wc4     94.5
## 29 37  32   M wc4     85.0
## 30 39  27   M wc4     88.0
## 31  1  29   F wc4     85.0
## 32  2  22   F wc4     82.0
## 33  5  50   F wc4     90.0
## 34  6  20   F wc4     80.0
## 35  7  21   F wc4     82.5
## 36  8  23   F wc4     78.0
## 37  3  20   M wc5     94.0
## 38 37  32   M wc5     84.5
## 39 39  27   M wc5     87.0
## 40  1  29   F wc5     84.0
## 41  2  22   F wc5     81.0
## 42  5  50   F wc5     92.5
## 43  6  20   F wc5     79.5
## 44  7  21   F wc5     81.0
## 45  8  23   F wc5     75.0

Chuyển từ cột sang dòng lần 2

d6= melt (d4, id= c("id", "age", "sex"), measure.vars= c("hip1", "hip2", "hip3", "hip4", "hip5"))
names (d6)[names (d6)== 'variable']= 'hip'
names (d6)[names (d6)== 'value']= 'hip.value'
d6
##    id age sex  hip hip.value
## 1   3  20   M hip1      95.0
## 2  37  32   M hip1      89.5
## 3  39  27   M hip1      90.5
## 4   1  29   F hip1      89.5
## 5   2  22   F hip1      83.0
## 6   5  50   F hip1      95.0
## 7   6  20   F hip1      79.0
## 8   7  21   F hip1      85.5
## 9   8  23   F hip1      80.5
## 10  3  20   M hip2      95.0
## 11 37  32   M hip2      89.5
## 12 39  27   M hip2      88.5
## 13  1  29   F hip2      87.5
## 14  2  22   F hip2      80.4
## 15  5  50   F hip2      94.6
## 16  6  20   F hip2      82.0
## 17  7  21   F hip2      86.5
## 18  8  23   F hip2      80.0
## 19  3  20   M hip3      93.0
## 20 37  32   M hip3      88.0
## 21 39  27   M hip3      88.0
## 22  1  29   F hip3      87.0
## 23  2  22   F hip3      79.0
## 24  5  50   F hip3      90.5
## 25  6  20   F hip3      78.0
## 26  7  21   F hip3      83.0
## 27  8  23   F hip3      75.0
## 28  3  20   M hip4      90.5
## 29 37  32   M hip4      86.0
## 30 39  27   M hip4      86.0
## 31  1  29   F hip4      80.0
## 32  2  22   F hip4      78.0
## 33  5  50   F hip4      92.0
## 34  6  20   F hip4      76.5
## 35  7  21   F hip4      80.0
## 36  8  23   F hip4      77.0
## 37  3  20   M hip5      90.5
## 38 37  32   M hip5      85.0
## 39 39  27   M hip5      85.0
## 40  1  29   F hip5      80.0
## 41  2  22   F hip5      76.5
## 42  5  50   F hip5      91.0
## 43  6  20   F hip5      77.0
## 44  7  21   F hip5      79.5
## 45  8  23   F hip5      73.0

Trộn 2 bộ dữ liệu vừa tạo ra để có một data mới

d7= merge (d5, d6, by= c("id", "age", "sex"), all.x= T, all.y= T)
d7
##     id age sex  WC WC.value  hip hip.value
## 1    1  29   F wc4     85.0 hip4      80.0
## 2    1  29   F wc4     85.0 hip5      80.0
## 3    1  29   F wc4     85.0 hip3      87.0
## 4    1  29   F wc4     85.0 hip2      87.5
## 5    1  29   F wc4     85.0 hip1      89.5
## 6    1  29   F wc5     84.0 hip4      80.0
## 7    1  29   F wc5     84.0 hip5      80.0
## 8    1  29   F wc5     84.0 hip3      87.0
## 9    1  29   F wc5     84.0 hip2      87.5
## 10   1  29   F wc5     84.0 hip1      89.5
## 11   1  29   F wc3     90.0 hip4      80.0
## 12   1  29   F wc3     90.0 hip5      80.0
## 13   1  29   F wc3     90.0 hip3      87.0
## 14   1  29   F wc3     90.0 hip2      87.5
## 15   1  29   F wc3     90.0 hip1      89.5
## 16   1  29   F wc2     94.0 hip4      80.0
## 17   1  29   F wc2     94.0 hip5      80.0
## 18   1  29   F wc2     94.0 hip3      87.0
## 19   1  29   F wc2     94.0 hip2      87.5
## 20   1  29   F wc2     94.0 hip1      89.5
## 21   1  29   F wc1     93.0 hip4      80.0
## 22   1  29   F wc1     93.0 hip5      80.0
## 23   1  29   F wc1     93.0 hip3      87.0
## 24   1  29   F wc1     93.0 hip2      87.5
## 25   1  29   F wc1     93.0 hip1      89.5
## 26   2  22   F wc4     82.0 hip4      78.0
## 27   2  22   F wc4     82.0 hip1      83.0
## 28   2  22   F wc4     82.0 hip3      79.0
## 29   2  22   F wc4     82.0 hip5      76.5
## 30   2  22   F wc4     82.0 hip2      80.4
## 31   2  22   F wc1     86.5 hip4      78.0
## 32   2  22   F wc1     86.5 hip1      83.0
## 33   2  22   F wc1     86.5 hip3      79.0
## 34   2  22   F wc1     86.5 hip5      76.5
## 35   2  22   F wc1     86.5 hip2      80.4
## 36   2  22   F wc3     84.0 hip4      78.0
## 37   2  22   F wc3     84.0 hip1      83.0
## 38   2  22   F wc3     84.0 hip3      79.0
## 39   2  22   F wc3     84.0 hip5      76.5
## 40   2  22   F wc3     84.0 hip2      80.4
## 41   2  22   F wc5     81.0 hip4      78.0
## 42   2  22   F wc5     81.0 hip1      83.0
## 43   2  22   F wc5     81.0 hip3      79.0
## 44   2  22   F wc5     81.0 hip5      76.5
## 45   2  22   F wc5     81.0 hip2      80.4
## 46   2  22   F wc2     88.5 hip4      78.0
## 47   2  22   F wc2     88.5 hip1      83.0
## 48   2  22   F wc2     88.5 hip3      79.0
## 49   2  22   F wc2     88.5 hip5      76.5
## 50   2  22   F wc2     88.5 hip2      80.4
## 51   3  20   M wc1    101.0 hip1      95.0
## 52   3  20   M wc1    101.0 hip4      90.5
## 53   3  20   M wc1    101.0 hip5      90.5
## 54   3  20   M wc1    101.0 hip3      93.0
## 55   3  20   M wc1    101.0 hip2      95.0
## 56   3  20   M wc4     94.5 hip1      95.0
## 57   3  20   M wc4     94.5 hip4      90.5
## 58   3  20   M wc4     94.5 hip5      90.5
## 59   3  20   M wc4     94.5 hip3      93.0
## 60   3  20   M wc4     94.5 hip2      95.0
## 61   3  20   M wc5     94.0 hip1      95.0
## 62   3  20   M wc5     94.0 hip4      90.5
## 63   3  20   M wc5     94.0 hip5      90.5
## 64   3  20   M wc5     94.0 hip3      93.0
## 65   3  20   M wc5     94.0 hip2      95.0
## 66   3  20   M wc3     95.0 hip1      95.0
## 67   3  20   M wc3     95.0 hip4      90.5
## 68   3  20   M wc3     95.0 hip5      90.5
## 69   3  20   M wc3     95.0 hip3      93.0
## 70   3  20   M wc3     95.0 hip2      95.0
## 71   3  20   M wc2     97.0 hip1      95.0
## 72   3  20   M wc2     97.0 hip4      90.5
## 73   3  20   M wc2     97.0 hip5      90.5
## 74   3  20   M wc2     97.0 hip3      93.0
## 75   3  20   M wc2     97.0 hip2      95.0
## 76  37  32   M wc5     84.5 hip5      85.0
## 77  37  32   M wc5     84.5 hip4      86.0
## 78  37  32   M wc5     84.5 hip2      89.5
## 79  37  32   M wc5     84.5 hip3      88.0
## 80  37  32   M wc5     84.5 hip1      89.5
## 81  37  32   M wc4     85.0 hip5      85.0
## 82  37  32   M wc4     85.0 hip4      86.0
## 83  37  32   M wc4     85.0 hip2      89.5
## 84  37  32   M wc4     85.0 hip3      88.0
## 85  37  32   M wc4     85.0 hip1      89.5
## 86  37  32   M wc2     89.0 hip5      85.0
## 87  37  32   M wc2     89.0 hip4      86.0
## 88  37  32   M wc2     89.0 hip2      89.5
## 89  37  32   M wc2     89.0 hip3      88.0
## 90  37  32   M wc2     89.0 hip1      89.5
## 91  37  32   M wc3     87.0 hip5      85.0
## 92  37  32   M wc3     87.0 hip4      86.0
## 93  37  32   M wc3     87.0 hip2      89.5
## 94  37  32   M wc3     87.0 hip3      88.0
## 95  37  32   M wc3     87.0 hip1      89.5
## 96  37  32   M wc1     88.5 hip5      85.0
## 97  37  32   M wc1     88.5 hip4      86.0
## 98  37  32   M wc1     88.5 hip2      89.5
## 99  37  32   M wc1     88.5 hip3      88.0
## 100 37  32   M wc1     88.5 hip1      89.5
## 101 39  27   M wc5     87.0 hip5      85.0
## 102 39  27   M wc5     87.0 hip2      88.5
## 103 39  27   M wc5     87.0 hip4      86.0
## 104 39  27   M wc5     87.0 hip3      88.0
## 105 39  27   M wc5     87.0 hip1      90.5
## 106 39  27   M wc2     93.0 hip5      85.0
## 107 39  27   M wc2     93.0 hip2      88.5
## 108 39  27   M wc2     93.0 hip4      86.0
## 109 39  27   M wc2     93.0 hip3      88.0
## 110 39  27   M wc2     93.0 hip1      90.5
## 111 39  27   M wc4     88.0 hip5      85.0
## 112 39  27   M wc4     88.0 hip2      88.5
## 113 39  27   M wc4     88.0 hip4      86.0
## 114 39  27   M wc4     88.0 hip3      88.0
## 115 39  27   M wc4     88.0 hip1      90.5
## 116 39  27   M wc3     90.0 hip5      85.0
## 117 39  27   M wc3     90.0 hip2      88.5
## 118 39  27   M wc3     90.0 hip4      86.0
## 119 39  27   M wc3     90.0 hip3      88.0
## 120 39  27   M wc3     90.0 hip1      90.5
## 121 39  27   M wc1     97.0 hip5      85.0
## 122 39  27   M wc1     97.0 hip2      88.5
## 123 39  27   M wc1     97.0 hip4      86.0
## 124 39  27   M wc1     97.0 hip3      88.0
## 125 39  27   M wc1     97.0 hip1      90.5
## 126  5  50   F wc5     92.5 hip5      91.0
## 127  5  50   F wc5     92.5 hip4      92.0
## 128  5  50   F wc5     92.5 hip3      90.5
## 129  5  50   F wc5     92.5 hip1      95.0
## 130  5  50   F wc5     92.5 hip2      94.6
## 131  5  50   F wc4     90.0 hip5      91.0
## 132  5  50   F wc4     90.0 hip4      92.0
## 133  5  50   F wc4     90.0 hip3      90.5
## 134  5  50   F wc4     90.0 hip1      95.0
## 135  5  50   F wc4     90.0 hip2      94.6
## 136  5  50   F wc3     96.0 hip5      91.0
## 137  5  50   F wc3     96.0 hip4      92.0
## 138  5  50   F wc3     96.0 hip3      90.5
## 139  5  50   F wc3     96.0 hip1      95.0
## 140  5  50   F wc3     96.0 hip2      94.6
## 141  5  50   F wc1     96.0 hip5      91.0
## 142  5  50   F wc1     96.0 hip4      92.0
## 143  5  50   F wc1     96.0 hip3      90.5
## 144  5  50   F wc1     96.0 hip1      95.0
## 145  5  50   F wc1     96.0 hip2      94.6
## 146  5  50   F wc2    102.0 hip5      91.0
## 147  5  50   F wc2    102.0 hip4      92.0
## 148  5  50   F wc2    102.0 hip3      90.5
## 149  5  50   F wc2    102.0 hip1      95.0
## 150  5  50   F wc2    102.0 hip2      94.6
## 151  6  20   F wc5     79.5 hip5      77.0
## 152  6  20   F wc5     79.5 hip3      78.0
## 153  6  20   F wc5     79.5 hip2      82.0
## 154  6  20   F wc5     79.5 hip4      76.5
## 155  6  20   F wc5     79.5 hip1      79.0
## 156  6  20   F wc3     82.0 hip5      77.0
## 157  6  20   F wc3     82.0 hip3      78.0
## 158  6  20   F wc3     82.0 hip2      82.0
## 159  6  20   F wc3     82.0 hip4      76.5
## 160  6  20   F wc3     82.0 hip1      79.0
## 161  6  20   F wc2     88.5 hip5      77.0
## 162  6  20   F wc2     88.5 hip3      78.0
## 163  6  20   F wc2     88.5 hip2      82.0
## 164  6  20   F wc2     88.5 hip4      76.5
## 165  6  20   F wc2     88.5 hip1      79.0
## 166  6  20   F wc4     80.0 hip5      77.0
## 167  6  20   F wc4     80.0 hip3      78.0
## 168  6  20   F wc4     80.0 hip2      82.0
## 169  6  20   F wc4     80.0 hip4      76.5
## 170  6  20   F wc4     80.0 hip1      79.0
## 171  6  20   F wc1     84.5 hip5      77.0
## 172  6  20   F wc1     84.5 hip3      78.0
## 173  6  20   F wc1     84.5 hip2      82.0
## 174  6  20   F wc1     84.5 hip4      76.5
## 175  6  20   F wc1     84.5 hip1      79.0
## 176  7  21   F wc5     81.0 hip5      79.5
## 177  7  21   F wc5     81.0 hip3      83.0
## 178  7  21   F wc5     81.0 hip4      80.0
## 179  7  21   F wc5     81.0 hip2      86.5
## 180  7  21   F wc5     81.0 hip1      85.5
## 181  7  21   F wc3     88.0 hip5      79.5
## 182  7  21   F wc3     88.0 hip3      83.0
## 183  7  21   F wc3     88.0 hip4      80.0
## 184  7  21   F wc3     88.0 hip2      86.5
## 185  7  21   F wc3     88.0 hip1      85.5
## 186  7  21   F wc4     82.5 hip5      79.5
## 187  7  21   F wc4     82.5 hip3      83.0
## 188  7  21   F wc4     82.5 hip4      80.0
## 189  7  21   F wc4     82.5 hip2      86.5
## 190  7  21   F wc4     82.5 hip1      85.5
## 191  7  21   F wc2     90.0 hip5      79.5
## 192  7  21   F wc2     90.0 hip3      83.0
## 193  7  21   F wc2     90.0 hip4      80.0
## 194  7  21   F wc2     90.0 hip2      86.5
## 195  7  21   F wc2     90.0 hip1      85.5
## 196  7  21   F wc1     88.0 hip5      79.5
## 197  7  21   F wc1     88.0 hip3      83.0
## 198  7  21   F wc1     88.0 hip4      80.0
## 199  7  21   F wc1     88.0 hip2      86.5
## 200  7  21   F wc1     88.0 hip1      85.5
## 201  8  23   F wc4     78.0 hip4      77.0
## 202  8  23   F wc4     78.0 hip3      75.0
## 203  8  23   F wc4     78.0 hip1      80.5
## 204  8  23   F wc4     78.0 hip2      80.0
## 205  8  23   F wc4     78.0 hip5      73.0
## 206  8  23   F wc3     83.5 hip4      77.0
## 207  8  23   F wc3     83.5 hip3      75.0
## 208  8  23   F wc3     83.5 hip1      80.5
## 209  8  23   F wc3     83.5 hip2      80.0
## 210  8  23   F wc3     83.5 hip5      73.0
## 211  8  23   F wc1     87.5 hip4      77.0
## 212  8  23   F wc1     87.5 hip3      75.0
## 213  8  23   F wc1     87.5 hip1      80.5
## 214  8  23   F wc1     87.5 hip2      80.0
## 215  8  23   F wc1     87.5 hip5      73.0
## 216  8  23   F wc2     85.0 hip4      77.0
## 217  8  23   F wc2     85.0 hip3      75.0
## 218  8  23   F wc2     85.0 hip1      80.5
## 219  8  23   F wc2     85.0 hip2      80.0
## 220  8  23   F wc2     85.0 hip5      73.0
## 221  8  23   F wc5     75.0 hip4      77.0
## 222  8  23   F wc5     75.0 hip3      75.0
## 223  8  23   F wc5     75.0 hip1      80.5
## 224  8  23   F wc5     75.0 hip2      80.0
## 225  8  23   F wc5     75.0 hip5      73.0