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      38After 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   NAAfter 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.9963By 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      NASince 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.52For 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.52The 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   -