# make data.table with testspecies
testspecies = c("Ditylenchus spp." ,"Ditylenchus dipsaci" ,"Ditylenchus destructor" ,"Xiphinema spp." ,
"Longidorus spp." ,"(Para)Trichodoridae spp." ,"Trichodorus similis" ,"Trichodorus primitivus" ,
"Trichodorus viruliferus" ,"Trichodorus sparsus" ,"Trichodorus cylindricus" ,"Trichodorus hooperi" ,
"Paratrichodorus teres" ,"Paratrichodorus pachydermus" ,"Paratrichodorus anemones" ,"Paratrichodorus nanus" ,
"Aphelenchoides spp." ,"Aphelenchoides fragariae" ,"Aphelenchoides ritzemabosi" ,"Aphelenchoides subtenuis" ,
"Criconematidae spp." ,"Subanguina spp." ,"Rotylenchus spp." ,"Paratylenchus spp." ,
"Paratylenchus bukowinensis" ,"Meloidogyne spp." ,"Meloidogyne chitwoodi/fallax" ,"Meloidogyne chitwoodi" ,
"Meloidogyne fallax" ,"Meloidogyne minor" ,"Meloidogyne incognita" ,"Meloidogyne javanica" ,
"Meloidogyne artiellia" ,"Meloidogyne arenaria" ,"Meloidogyne ardenensis" ,"Meloidogyne naasi" ,
"Meloidogyne hapla" ,"Cysteaaltjes" ,"Hemicycliophora spp." ,"Pratylenchus spp." ,
"Pratylenchus penetrans" ,"Pratylenchus crenatus" ,"Tylenchorhynchus spp." ,"Helicotylenchus spp." ,
"Pratylenchus neglectus" ,"Pratylenchus pratensis" ,"Pratylenchus thornei" ,"Pratylenchus flakkensis" ,
"Pratylenchus fallax" ,"Pratylenchus pinguicaudatus" ,"Pratylenchus pseudopratensis" ,"Pratylenchus vulnus" ,
"Pratylenchus dunensis" ,"Pratylenchus zeae")
# Make data tables to test ind_nematodes_list
nem.dt1 <- data.table(species = testspecies, count = rep(0,54))
nem.dt2 <- data.table(species = testspecies, count = rep(10000,54))
# test function for ind_nematodes_list
test_that("ind_nematodes_list works", {
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt1),
expected = 1,
tolecance = 0.01
)
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt2),
expected = 0,
tolerance = 0.0001
)
})
# test that ind_nematodes_list works with missing values
nem.dt1 <- nem.dt1[5:10, count:= NA]
nem.dt2 <- nem.dt2[5:10, count:= NA]
test_that("ind_nematodes_list works when some values are missing", {
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt1),
expected = 1,
tolecance = 0.01
)
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt2),
expected = 0,
tolerance = 0.0001
)
})
# test that ind_nematodes_list works with missing nematodes
nem.dt1 <- nem.dt1[5:15]
nem.dt2 <- nem.dt2[5:15]
test_that("ind_nematodes_list works when some species missing", {
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt1),
expected = 1,
tolecance = 0.01
)
expect_equal(
ind_nematodes_list(A_NEMA = nem.dt2),
expected = 0,
tolerance = 0.0001
)
})
# number of fields
nfields = 15
# set random number for testing
set.seed(123)
nmet = pmax(0,rnorm(nfields,100,50))
A_RLN_PR_TOT=nmet; A_RLN_PR_CREN=nmet; A_RLN_PR_NEG=nmet; A_RLN_PR_PEN=nmet; A_RLN_PR_PRA=nmet; A_RLN_PR_THO=nmet; A_RLN_PR_FLA=nmet;
A_RLN_PR_FAL=nmet; A_RLN_PR_PIN=nmet; A_RLN_PR_PSE=nmet; A_RLN_PR_VUL=nmet; A_RLN_PR_DUN=nmet; A_RLN_PR_ZEA=nmet;
set.seed(123)
nmet = pmax(0,rnorm(nfields,50,15))
A_RKN_ME_TOT=nmet; A_RKN_ME_HAP=nmet; A_RKN_ME_CHIFAL=nmet; A_RKN_ME_CHI=nmet; A_RKN_ME_NAA=nmet; A_RKN_ME_FAL=nmet; A_RKN_ME_MIN=nmet; A_RKN_ME_INC=nmet;
A_RKN_ME_JAV=nmet; A_RKN_ME_ART=nmet; A_RKN_ME_ARE=nmet; A_RKN_ME_ARD=nmet
set.seed(123)
nmet = pmax(0,rnorm(nfields,5,1))
A_DSN_TR_TOT=nmet; A_DSN_TR_SIM=nmet; A_DSN_TR_PRI=nmet;
A_DSN_TR_VIR=nmet; A_DSN_TR_SPA=nmet; A_DSN_TR_CYL=nmet; A_DSN_TR_HOO=nmet; A_DSN_PA_TER=nmet; A_DSN_PA_PAC=nmet; A_DSN_PA_ANE=nmet;
A_DSN_PA_NAN=nmet; A_DSN_TY_TOT=nmet; A_DSN_RO_TOT=nmet; A_DSN_XI_TOT=nmet; A_DSN_LO_TOT=nmet; A_DSN_HEM_TOT=nmet; A_DSN_HEL_TOT=nmet;
A_SN_DI_TOT=nmet; A_SN_DI_DIP=nmet; A_SN_DI_DES=nmet; A_OPN_PA_TOT=nmet; A_OPN_PA_BUK=nmet; A_OPN_CY_TOT=nmet; A_OPN_AP_TOT=nmet;
A_OPN_AP_FRA=nmet; A_OPN_AP_RIT=nmet; A_OPN_AP_SUB=nmet; A_OPN_CR_TOT=nmet; A_OPN_SU_TOT = nmet;A_NPN_SA_TOT = nmet
set.seed(123)
B_LU_BRP = sample(c(2014, 265,1079, 265, 308),nfields,replace = T)
test_that("ind_nematodes works with complete input", {
expect_equal(
ind_nematodes(B_LU_BRP = B_LU_BRP,
A_RLN_PR_TOT = A_RLN_PR_TOT,A_RLN_PR_CREN = A_RLN_PR_CREN,A_RLN_PR_NEG = A_RLN_PR_NEG,
A_RLN_PR_PEN = A_RLN_PR_PEN,A_RLN_PR_PRA = A_RLN_PR_PRA,A_RLN_PR_THO = A_RLN_PR_THO,
A_RLN_PR_FLA = A_RLN_PR_FLA,A_RLN_PR_FAL = A_RLN_PR_FAL,A_RLN_PR_PIN = A_RLN_PR_PIN,
A_RLN_PR_PSE = A_RLN_PR_PSE,A_RLN_PR_VUL = A_RLN_PR_VUL,A_RLN_PR_DUN = A_RLN_PR_DUN,
A_RLN_PR_ZEA = A_RLN_PR_ZEA,A_RKN_ME_TOT = A_RKN_ME_TOT,A_RKN_ME_HAP = A_RKN_ME_HAP,
A_RKN_ME_CHIFAL = A_RKN_ME_CHIFAL,
A_RKN_ME_CHI = A_RKN_ME_CHI,A_RKN_ME_NAA = A_RKN_ME_NAA,A_RKN_ME_FAL = A_RKN_ME_FAL,
A_RKN_ME_MIN = A_RKN_ME_MIN,A_RKN_ME_INC = A_RKN_ME_INC,A_RKN_ME_JAV = A_RKN_ME_JAV,
A_RKN_ME_ART = A_RKN_ME_ART,A_RKN_ME_ARE = A_RKN_ME_ARE,A_RKN_ME_ARD = A_RKN_ME_ARD,
A_DSN_TR_TOT = A_DSN_TR_TOT,A_DSN_TR_SIM = A_DSN_TR_SIM,A_DSN_TR_PRI = A_DSN_TR_PRI,
A_DSN_TR_VIR = A_DSN_TR_VIR,A_DSN_TR_SPA = A_DSN_TR_SPA,A_DSN_TR_CYL = A_DSN_TR_CYL,
A_DSN_TR_HOO = A_DSN_TR_HOO,A_DSN_PA_TER = A_DSN_PA_TER,A_DSN_PA_PAC = A_DSN_PA_PAC,
A_DSN_PA_ANE = A_DSN_PA_ANE,A_DSN_PA_NAN = A_DSN_PA_NAN,A_DSN_TY_TOT = A_DSN_TY_TOT,
A_DSN_RO_TOT = A_DSN_RO_TOT,A_DSN_XI_TOT = A_DSN_XI_TOT,A_DSN_LO_TOT = A_DSN_LO_TOT,
A_DSN_HEM_TOT = A_DSN_HEM_TOT,A_DSN_HEL_TOT = A_DSN_HEL_TOT,
A_SN_DI_TOT = A_SN_DI_TOT,A_SN_DI_DIP = A_SN_DI_DIP, A_SN_DI_DES = A_SN_DI_DES,
A_OPN_PA_TOT = A_OPN_PA_TOT,A_OPN_PA_BUK = A_OPN_PA_BUK,A_OPN_CY_TOT = A_OPN_CY_TOT,
A_OPN_AP_TOT = A_OPN_AP_TOT,A_OPN_AP_FRA = A_OPN_AP_FRA,A_OPN_AP_RIT = A_OPN_AP_RIT,
A_OPN_AP_SUB = A_OPN_AP_SUB,A_OPN_CR_TOT = A_OPN_CR_TOT,A_OPN_SU_TOT = A_OPN_SU_TOT,
A_NPN_SA_TOT = A_NPN_SA_TOT
),
expected = c(0.261, 0.224, 0.023, 0.193, 0.188, 0.017, 0.126, 0.356, 0.277, 0.247, 0.040, 0.144, 0.136, 0.189, 0.260),
tolecance = 0.01
)
})
# add some NA values
set.seed(123)
selrow = sample(1:nfields,2)
A_DSN_TR_CYL[selrow] <- NA
A_RLN_PR_FAL[selrow] <- NA
A_RKN_ME_JAV[selrow] <- NA
A_OPN_SU_TOT[selrow] <- NA
test_that("ind_nematodes works with complete input but with missing values", {
expect_equal(
ind_nematodes(B_LU_BRP = B_LU_BRP,
A_RLN_PR_TOT = A_RLN_PR_TOT,A_RLN_PR_CREN = A_RLN_PR_CREN,A_RLN_PR_NEG = A_RLN_PR_NEG,
A_RLN_PR_PEN = A_RLN_PR_PEN,A_RLN_PR_PRA = A_RLN_PR_PRA,A_RLN_PR_THO = A_RLN_PR_THO,
A_RLN_PR_FLA = A_RLN_PR_FLA,A_RLN_PR_FAL = A_RLN_PR_FAL,A_RLN_PR_PIN = A_RLN_PR_PIN,
A_RLN_PR_PSE = A_RLN_PR_PSE,A_RLN_PR_VUL = A_RLN_PR_VUL,A_RLN_PR_DUN = A_RLN_PR_DUN,
A_RLN_PR_ZEA = A_RLN_PR_ZEA,A_RKN_ME_TOT = A_RKN_ME_TOT,A_RKN_ME_HAP = A_RKN_ME_HAP,
A_RKN_ME_CHIFAL = A_RKN_ME_CHIFAL,
A_RKN_ME_CHI = A_RKN_ME_CHI,A_RKN_ME_NAA = A_RKN_ME_NAA,A_RKN_ME_FAL = A_RKN_ME_FAL,
A_RKN_ME_MIN = A_RKN_ME_MIN,A_RKN_ME_INC = A_RKN_ME_INC,A_RKN_ME_JAV = A_RKN_ME_JAV,
A_RKN_ME_ART = A_RKN_ME_ART,A_RKN_ME_ARE = A_RKN_ME_ARE,A_RKN_ME_ARD = A_RKN_ME_ARD,
A_DSN_TR_TOT = A_DSN_TR_TOT,A_DSN_TR_SIM = A_DSN_TR_SIM,A_DSN_TR_PRI = A_DSN_TR_PRI,
A_DSN_TR_VIR = A_DSN_TR_VIR,A_DSN_TR_SPA = A_DSN_TR_SPA,A_DSN_TR_CYL = A_DSN_TR_CYL,
A_DSN_TR_HOO = A_DSN_TR_HOO,A_DSN_PA_TER = A_DSN_PA_TER,A_DSN_PA_PAC = A_DSN_PA_PAC,
A_DSN_PA_ANE = A_DSN_PA_ANE,A_DSN_PA_NAN = A_DSN_PA_NAN,A_DSN_TY_TOT = A_DSN_TY_TOT,
A_DSN_RO_TOT = A_DSN_RO_TOT,A_DSN_XI_TOT = A_DSN_XI_TOT,A_DSN_LO_TOT = A_DSN_LO_TOT,
A_DSN_HEM_TOT = A_DSN_HEM_TOT,A_DSN_HEL_TOT = A_DSN_HEL_TOT,
A_SN_DI_TOT = A_SN_DI_TOT,A_SN_DI_DIP = A_SN_DI_DIP, A_SN_DI_DES = A_SN_DI_DES,
A_OPN_PA_TOT = A_OPN_PA_TOT,A_OPN_PA_BUK = A_OPN_PA_BUK,A_OPN_CY_TOT = A_OPN_CY_TOT,
A_OPN_AP_TOT = A_OPN_AP_TOT,A_OPN_AP_FRA = A_OPN_AP_FRA,A_OPN_AP_RIT = A_OPN_AP_RIT,
A_OPN_AP_SUB = A_OPN_AP_SUB,A_OPN_CR_TOT = A_OPN_CR_TOT,A_OPN_SU_TOT = A_OPN_SU_TOT,
A_NPN_SA_TOT = A_NPN_SA_TOT
),
expected = c(0.261, 0.224, 0.023, 0.193, 0.188, 0.017, 0.126, 0.356, 0.277, 0.247, 0.040, 0.144, 0.136, 0.189, 0.260),
tolecance = 0.01
)
})
# remove some measurement from input
test_that("ind_nematodes works with incomplete input", {
expect_equal(
ind_nematodes(B_LU_BRP = B_LU_BRP,
A_RLN_PR_TOT = A_RLN_PR_TOT,A_RLN_PR_CREN = A_RLN_PR_CREN,A_RLN_PR_NEG = A_RLN_PR_NEG,
A_RLN_PR_PEN = A_RLN_PR_PEN,A_RLN_PR_PRA = A_RLN_PR_PRA,A_RLN_PR_THO = A_RLN_PR_THO,
A_RLN_PR_FLA = NULL,A_RLN_PR_FAL = NULL,A_RLN_PR_PIN = A_RLN_PR_PIN,
A_RLN_PR_PSE = A_RLN_PR_PSE,A_RLN_PR_VUL = A_RLN_PR_VUL,A_RLN_PR_DUN = NULL,
A_RLN_PR_ZEA = A_RLN_PR_ZEA,A_RKN_ME_TOT = A_RKN_ME_TOT,A_RKN_ME_HAP = A_RKN_ME_HAP,
A_RKN_ME_CHIFAL = A_RKN_ME_CHIFAL,
A_RKN_ME_CHI = A_RKN_ME_CHI,A_RKN_ME_NAA = A_RKN_ME_NAA,A_RKN_ME_FAL = A_RKN_ME_FAL,
A_RKN_ME_MIN = A_RKN_ME_MIN,A_RKN_ME_INC = A_RKN_ME_INC,A_RKN_ME_JAV = A_RKN_ME_JAV,
A_RKN_ME_ART = NULL,A_RKN_ME_ARE = A_RKN_ME_ARE,A_RKN_ME_ARD = A_RKN_ME_ARD,
A_DSN_TR_TOT = A_DSN_TR_TOT,A_DSN_TR_SIM = NULL,A_DSN_TR_PRI = A_DSN_TR_PRI,
A_DSN_TR_VIR = A_DSN_TR_VIR,A_DSN_TR_SPA = A_DSN_TR_SPA,A_DSN_TR_CYL = A_DSN_TR_CYL,
A_DSN_TR_HOO = A_DSN_TR_HOO,A_DSN_PA_TER = A_DSN_PA_TER,A_DSN_PA_PAC = A_DSN_PA_PAC,
A_DSN_PA_ANE = NULL,A_DSN_PA_NAN = A_DSN_PA_NAN,A_DSN_TY_TOT = A_DSN_TY_TOT,
A_DSN_RO_TOT = A_DSN_RO_TOT,A_DSN_XI_TOT = A_DSN_XI_TOT,A_DSN_LO_TOT = A_DSN_LO_TOT,
A_DSN_HEM_TOT = A_DSN_HEM_TOT,A_DSN_HEL_TOT = A_DSN_HEL_TOT,
A_SN_DI_TOT = A_SN_DI_TOT,A_SN_DI_DIP = A_SN_DI_DIP, A_SN_DI_DES = A_SN_DI_DES,
A_OPN_PA_TOT = A_OPN_PA_TOT,A_OPN_PA_BUK = A_OPN_PA_BUK,A_OPN_CY_TOT = A_OPN_CY_TOT,
A_OPN_AP_TOT = NULL,A_OPN_AP_FRA = A_OPN_AP_FRA,A_OPN_AP_RIT = NULL,
A_OPN_AP_SUB = A_OPN_AP_SUB,A_OPN_CR_TOT = A_OPN_CR_TOT,A_OPN_SU_TOT = A_OPN_SU_TOT,
A_NPN_SA_TOT = A_NPN_SA_TOT
),
expected = c(0.261, 0.224, 0.023, 0.193, 0.188, 0.017, 0.126, 0.356, 0.277, 0.247, 0.040, 0.144, 0.136, 0.189, 0.260),
tolecance = 0.01
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.