The package “rhoneycomb” is a useful statistical tool for the construction and analysis of honeycomb selection designs.
This section shows the installation of the package and the usage of underlying functions.
To install the package from CRAN, and then load it, use the following commands:
As a first step in the analysis, the plant breeder should check if any designs are available for the number of under-evaluation entries. We do so by using the following command which returns a data frame containing the available designs. Here we run the function with a vector that contains numbers 1 to 60:
## E X Y K1 K2 K3 K4 K5 K6 Type Groups GroupSize SetRows
## 1 3 1 1 1 1 - - - - Ungrouped 1 3 2
## 2 4 2 0 - - 1 2 - - Grouped 2 2 4
## 3 7 2 1 4 2 - - - - Ungrouped 1 7 14
## 4 9 3 0 - - 2 3 5 6 Grouped 3 3 6
## 5 12 2 2 - - 4 7 - - Grouped 2 6 4
## 6 13 3 1 9 3 - - - - Ungrouped 1 13 26
## 7 16 4 0 - - 3 4 11 12 Grouped 4 4 8
## 8 19 3 2 7 11 - - - - Ungrouped 1 19 38
## 9 21 4 1 16 4 - - - - Ungrouped 1 21 14
## 10 25 5 0 - - 4 5 19 20 Grouped 5 5 10
## 11 27 3 3 - - 7 10 16 19 Grouped 3 9 6
## 12 28 4 2 - - 9 18 11 16 Grouped 2 14 28
## 13 31 5 1 25 5 - - - - Ungrouped 1 31 62
## 14 36 6 0 - - 5 6 29 30 Grouped 6 6 12
## 15 37 4 3 10 26 - - - - Ungrouped 1 37 74
## 16 39 5 2 16 22 - - - - Ungrouped 1 39 26
## 17 43 6 1 36 6 - - - - Ungrouped 1 43 86
## 18 48 4 4 - - 10 13 34 37 Grouped 4 12 8
## 19 49 5 3 30 18 - - - - Ungrouped 1 49 98
## 20 49 7 0 - - 6 7 41 42 Grouped 7 7 14
## 21 52 6 2 - - 16 35 22 29 Grouped 2 26 52
## 22 57 7 1 49 7 - - - - Ungrouped 1 57 38
After obtaining the necessary design information from the function generate(), the user inputs the number of entries, the k parameter, the number of rows, the number of plants per row and the planting distance into the function HSD().
We initialize the honeycomb selection design using the HSD command. Here:
## Entry Row Plant XPos YPos Data
## 1 7 1 1 1.0 0.8660254 NA
## 2 1 1 2 2.0 0.8660254 NA
## 3 2 1 3 3.0 0.8660254 NA
## 4 3 1 4 4.0 0.8660254 NA
## 5 4 1 5 5.0 0.8660254 NA
## 6 5 1 6 6.0 0.8660254 NA
## 7 6 1 7 7.0 0.8660254 NA
## 8 7 1 8 8.0 0.8660254 NA
## 9 1 1 9 9.0 0.8660254 NA
## 10 2 1 10 10.0 0.8660254 NA
## 11 5 2 1 1.5 1.7320508 NA
## 12 6 2 2 2.5 1.7320508 NA
## 13 7 2 3 3.5 1.7320508 NA
## 14 1 2 4 4.5 1.7320508 NA
## 15 2 2 5 5.5 1.7320508 NA
## 16 3 2 6 6.5 1.7320508 NA
## 17 4 2 7 7.5 1.7320508 NA
## 18 5 2 8 8.5 1.7320508 NA
## 19 6 2 9 9.5 1.7320508 NA
## 20 7 2 10 10.5 1.7320508 NA
## 21 2 3 1 1.0 2.5980762 NA
## 22 3 3 2 2.0 2.5980762 NA
## 23 4 3 3 3.0 2.5980762 NA
## 24 5 3 4 4.0 2.5980762 NA
## 25 6 3 5 5.0 2.5980762 NA
After this step, we pass the response variable to the “Data” column of the data frame generated by one of the functions HSD, HSD0, HSD01 or HSD03.
main_data$Data<-wheat_data$main_spike_weight
result<-analysis(main_data,"Data",6)
head(result[[1]],10) #Use the head function to get the top 10 rows.
## Entry Row Plant XPos YPos Data NumR MeanR PYE E_Mean N E_sd E_HI
## 1 7 1 1 1 0.866 5.33 2 3.1300 2.8998 4.6600 14 1.4376 10.5071
## 2 1 1 2 2 0.866 3.62 3 4.5967 0.6202 4.2853 15 0.8598 24.8399
## 3 2 1 3 3 0.866 NA 4 4.4100 NA 3.3800 14 1.0165 11.0563
## 4 3 1 4 4 0.866 5.38 3 4.0067 1.8030 5.4715 13 1.7710 9.5447
## 5 4 1 5 5 0.866 4.10 4 4.3000 0.9091 3.5736 14 0.8958 15.9129
## 6 5 1 6 6 0.866 4.30 4 4.3300 0.9862 4.8062 13 1.2292 15.2887
## 7 6 1 7 7 0.866 5.86 4 4.0250 2.1196 5.2487 15 1.0800 23.6170
## 8 7 1 8 8 0.866 5.40 4 3.9050 1.9123 4.6600 14 1.4376 10.5071
## 9 1 1 9 9 0.866 1.97 4 5.0950 0.1495 4.2853 15 0.8598 24.8399
## 10 2 1 10 10 0.866 2.52 2 4.0500 0.3872 3.3800 14 1.0165 11.0563
## PPE
## 1 30.4683
## 2 15.4057
## 3 NA
## 4 17.2092
## 5 14.4671
## 6 15.0776
## 7 50.0597
## 8 20.0922
## 9 3.7136
## 10 4.2806
## Entry N E_Mean CV E_sd E_HI EYI EPE mPYE mPPE
## 1 1 15 4.2853 20.0644 0.8598 24.8399 0.9143 22.7105 0.9566 23.7607
## 2 2 14 3.3800 30.0743 1.0165 11.0563 0.5688 6.2886 0.6300 6.9656
## 3 3 13 5.4715 32.3682 1.7710 9.5447 1.4905 14.2262 1.7266 16.4797
## 4 4 14 3.5736 25.0683 0.8958 15.9129 0.6358 10.1173 0.6605 10.5108
## 5 5 13 4.8062 25.5749 1.2292 15.2887 1.1500 17.5823 1.2713 19.4370
## 6 6 15 5.2487 20.5773 1.0800 23.6170 1.3715 32.3914 1.6862 39.8226
## 7 7 14 4.6600 30.8502 1.4376 10.5071 1.0811 11.3596 1.3321 13.9963
By using the arguments blocks=TRUE in the analysis function, the data is being analyzed using complete moving replicate. If we also use the arguments “row_element” and “plant_element”, the plants included in the specific block are displayed.
## Entry Row Plant XPos YPos Data SizeB MeanB PYE E_Mean N E_sd E_HI
## 1 7 1 1 1 0.866 5.33 6 3.6167 2.1719 4.6600 14 1.4376 10.5071
## 2 1 1 2 2 0.866 3.62 5 3.9380 0.8450 4.2853 15 0.8598 24.8399
## 3 2 1 3 3 0.866 NA 6 4.1867 NaN 3.3800 14 1.0165 11.0563
## 4 3 1 4 4 0.866 5.38 5 4.4260 1.4775 5.4715 13 1.7710 9.5447
## 5 4 1 5 5 0.866 4.10 6 4.3217 0.9000 3.5736 14 0.8958 15.9129
## 6 5 1 6 6 0.866 4.30 6 4.6417 0.8582 4.8062 13 1.2292 15.2887
## 7 6 1 7 7 0.866 5.86 6 3.8217 2.3512 5.2487 15 1.0800 23.6170
## 8 7 1 8 8 0.866 5.40 6 4.0183 1.8059 4.6600 14 1.4376 10.5071
## 9 1 1 9 9 0.866 1.97 6 4.6517 0.1794 4.2853 15 0.8598 24.8399
## 10 2 1 10 10 0.866 2.52 5 4.6440 0.2945 3.3800 14 1.0165 11.0563
## PPE CRS
## 1 22.8203 1.2413
## 2 20.9901 0.9865
## 3 NaN 0.5665
## 4 14.1028 1.6905
## 5 14.3224 0.6504
## 6 13.1208 1.2570
## 7 55.5283 1.6977
## 8 18.9749 1.2413
## 9 4.4552 0.9865
## 10 3.2556 0.5665
## Entry N E_Mean CV E_sd E_HI EYI EPE mPYE mPPE CRS
## 1 1 15 4.2853 20.0644 0.8598 24.8399 0.9143 22.7105 0.9865 24.5040 0.1256
## 2 2 14 3.3800 30.0743 1.0165 11.0563 0.5688 6.2886 0.5665 6.2630 -0.4663
## 3 3 13 5.4715 32.3682 1.7710 9.5447 1.4905 14.2262 1.6905 16.1354 1.1259
## 4 4 14 3.5736 25.0683 0.8958 15.9129 0.6358 10.1173 0.6504 10.3497 -0.3036
## 5 5 13 4.8062 25.5749 1.2292 15.2887 1.1500 17.5823 1.2570 19.2183 1.1715
## 6 6 15 5.2487 20.5773 1.0800 23.6170 1.3715 32.3914 1.6977 40.0957 1.3037
## 7 7 14 4.6600 30.8502 1.4376 10.5071 1.0811 11.3596 1.2413 13.0427 NA
Since there is no control entry in HSD0 design, we must only provide number of rows, number of plants and interplant distance to the function. Here:
main_data$Data<-wheat_data$main_spike_weight
head(main_data,10) #Use the head function to get the top 10 rows.
## Entry Row Plant XPos YPos Data
## 1 1 1 1 1 0.8660254 5.33
## 2 2 1 2 2 0.8660254 3.62
## 3 3 1 3 3 0.8660254 NA
## 4 4 1 4 4 0.8660254 5.38
## 5 5 1 5 5 0.8660254 4.10
## 6 6 1 6 6 0.8660254 4.30
## 7 7 1 7 7 0.8660254 5.86
## 8 8 1 8 8 0.8660254 5.40
## 9 9 1 9 9 0.8660254 1.97
## 10 10 1 10 10 0.8660254 2.52
For the HSD01 design we must also add the value of K as first argument in the function:
main_data$Data<-wheat_data$main_spike_weight
head(main_data,10) #Use the head function to get the top 10 rows.
## Entry Row Plant XPos YPos Data
## 1 Control1 1 1 1 0.8660254 5.33
## 2 2 1 2 2 0.8660254 3.62
## 3 3 1 3 3 0.8660254 NA
## 4 4 1 4 4 0.8660254 5.38
## 5 5 1 5 5 0.8660254 4.10
## 6 6 1 6 6 0.8660254 4.30
## 7 7 1 7 7 0.8660254 5.86
## 8 Control1 1 8 8 0.8660254 5.40
## 9 8 1 9 9 0.8660254 1.97
## 10 9 1 10 10 0.8660254 2.52
The analysis function returns three data frames.
result<-analysis(main_data,"Data")
head(result[[1]],10) #Use the head function to get the top 10 rows.
## Entry Row Plant XPos YPos Data NumR MeanR PYE
## 1 Control1 1 1 1 0.866 5.33 2 3.1300 2.8998
## 2 2 1 2 2 0.866 3.62 3 4.5967 0.6202
## 3 3 1 3 3 0.866 NA 4 4.4100 NA
## 4 4 1 4 4 0.866 5.38 3 4.0067 1.8030
## 5 5 1 5 5 0.866 4.10 4 4.3000 0.9091
## 6 6 1 6 6 0.866 4.30 4 4.3300 0.9862
## 7 7 1 7 7 0.866 5.86 4 4.0250 2.1196
## 8 Control1 1 8 8 0.866 5.40 4 3.9050 1.9123
## 9 8 1 9 9 0.866 1.97 4 5.0950 0.1495
## 10 9 1 10 10 0.866 2.52 2 4.0500 0.3872
## Entry N Mean sd CV
## 1 Control1 19 4.660 1.4376 30.8502
## 2 Population 85 4.452 1.3810 31.0189
## GrandMean sd CV Circle CRS
## 1 4.4817 1.3835 30.8705 6 -