library(reshape)
df<-read.table('/Users/lilibei/Desktop/df.txt',header = 1)
head(df)
## Var Loca rep year FT WGP FBP NFFB HNFFB YPBF PH FBL FBA
## 1 N1 AY 1 2014 64 114 50 5.88 13.8 70.17 42.0 NA 66.67
## 2 N2 AY 1 2014 62 107 45 5.44 13.2 90.00 52.2 NA 74.17
## 3 N3 AY 1 2014 61 105 44 5.38 12.6 90.00 38.8 16.33 59.17
## 4 N4 AY 1 2014 62 114 52 5.57 15.8 90.00 49.0 13.33 68.33
## 5 N5 AY 1 2014 62 109 47 4.63 15.4 90.00 46.4 11.33 74.17
## 6 N6 AY 1 2014 62 105 43 4.67 15.4 87.69 44.0 11.50 60.83
dim(df)
## [1] 6035 13
new_df<-melt(df,id=names(df)[1:4],variable_name = "trait")
head(new_df)
## Var Loca rep year trait value
## 1 N1 AY 1 2014 FT 64
## 2 N2 AY 1 2014 FT 62
## 3 N3 AY 1 2014 FT 61
## 4 N4 AY 1 2014 FT 62
## 5 N5 AY 1 2014 FT 62
## 6 N6 AY 1 2014 FT 62
dim(new_df)
## [1] 54315 6
d1<-cast(new_df,Var+Loca+rep+year~trait)
head(d1)
## Var Loca rep year FT WGP FBP NFFB HNFFB YPBF PH FBL
## 1 N1 AY 1 2014 64 114 50 5.88 13.80000 70.1700000 42.00000 NA
## 2 N1 AY 1 2015 68 113 45 4.67 13.00000 82.9300000 54.67000 23.00000
## 3 N1 AY 1 2016 68 111 43 5.50 16.33333 0.8131868 81.50000 30.55556
## 4 N1 AY 2 2014 63 108 45 5.80 13.80000 90.0000000 44.00000 8.00000
## 5 N1 AY 2 2015 73 110 37 5.00 11.33000 NA 47.67000 21.00000
## 6 N1 AY 2 2016 68 108 40 5.50 19.00000 0.6466165 99.33333 29.22222
## FBA
## 1 66.67000
## 2 65.00000
## 3 56.60000
## 4 65.00000
## 5 75.00000
## 6 44.14444
dim(d1)
## [1] 6035 13
#列出所有性状在2014年AY环境下三个重复的数据
d2<-cast(new_df,Var~trait+rep,subset=(Loca=="AY"&year=="2014"))
head(d2)
## Var FT_1 FT_2 FT_3 WGP_1 WGP_2 WGP_3 FBP_1 FBP_2 FBP_3 NFFB_1 NFFB_2
## 1 N1 64 63 62 114 108 109 50 45 47 5.88 5.8
## 2 N10 62 61 62 110 108 110 48 47 48 5.75 5.5
## 3 N100 61 61 61 102 109 106 41 48 45 5.78 5.8
## 4 N101 62 62 61 105 105 106 43 43 45 5.38 5.2
## 5 N102 61 61 60 102 105 103 41 44 43 5.20 5.4
## 6 N103 62 65 67 121 117 120 59 52 53 6.11 6.2
## NFFB_3 HNFFB_1 HNFFB_2 HNFFB_3 YPBF_1 YPBF_2 YPBF_3 PH_1 PH_2 PH_3 FBL_1
## 1 5.7 13.8 13.8 NA 70.17 90.00 81.43 42.0 44.0 NA NA
## 2 5.2 18.8 14.8 NA 85.26 90.00 88.13 52.0 46.2 NA 16.67
## 3 5.0 12.4 15.0 NA 90.00 85.71 90.00 37.8 43.0 NA 8.33
## 4 4.8 12.8 12.6 NA 90.00 90.00 90.00 38.0 37.4 NA 8.50
## 5 5.1 15.8 15.0 NA 84.00 90.00 80.00 44.2 40.4 NA 6.17
## 6 7.7 19.4 23.6 NA 88.57 83.25 83.18 65.0 68.4 NA 16.67
## FBL_2 FBL_3 FBA_1 FBA_2 FBA_3
## 1 8.00 10.67 66.67 65.00 63.33
## 2 5.50 4.33 69.17 63.33 60.00
## 3 8.00 9.17 68.33 81.67 66.67
## 4 6.83 4.17 75.00 61.67 61.67
## 5 6.67 3.83 56.67 63.33 60.00
## 6 9.00 14.33 61.67 70.00 66.67
dim(d2)
## [1] 355 28
#列出FT在2014年AY环境下三个重复的数据
d3<-cast(new_df,Var~trait+rep,subset=(Loca=="AY"&year=="2014"&trait=="FT"))
head(d3)
## Var FT_1 FT_2 FT_3
## 1 N1 64 63 62
## 2 N10 62 61 62
## 3 N100 61 61 61
## 4 N101 62 62 61
## 5 N102 61 61 60
## 6 N103 62 65 67
dim(d3)
## [1] 355 4
#列出所有性状在2014年AY环境下三个重复的数据的平均值
d4<-cast(new_df,Var~trait,subset=(Loca=="AY"&year=="2014"),fun.aggregate = mean,na.rm=1)
head(d4)
## Var FT WGP FBP NFFB HNFFB YPBF PH FBL
## 1 N1 63.00000 110.3333 47.33333 5.793333 13.8 80.53333 43.0 9.335000
## 2 N10 61.66667 109.3333 47.66667 5.483333 16.8 87.79667 49.1 8.833333
## 3 N100 61.00000 105.6667 44.66667 5.526667 13.7 88.57000 40.4 8.500000
## 4 N101 61.66667 105.3333 43.66667 5.126667 12.7 90.00000 37.7 6.500000
## 5 N102 60.66667 103.3333 42.66667 5.233333 15.4 84.66667 42.3 5.556667
## 6 N103 64.66667 119.3333 54.66667 6.670000 21.5 85.00000 66.7 13.333333
## FBA
## 1 65.00000
## 2 64.16667
## 3 72.22333
## 4 66.11333
## 5 60.00000
## 6 66.11333
dim(d4)
## [1] 355 10
#列出FT在2014年AY环境下三个重复的数据的平均值
d5<-cast(new_df,Var~trait,subset=(Loca=="AY"&year=="2014"&trait=="FT"),fun.aggregate = mean)
head(d5)
## Var FT
## 1 N1 63.00000
## 2 N10 61.66667
## 3 N100 61.00000
## 4 N101 61.66667
## 5 N102 60.66667
## 6 N103 64.66667
dim(d5)
## [1] 355 2