## ----getData------------------------------------------------------------------ library(agro) ff <- get_data_from_uri("doi:10.7910/DVN/HCFDU8", ".") ff ## ----readdata----------------------------------------------------------------- library(foreign) GMA <- read.dta(ff[1]) table5 <- read.dta(ff[3], convert.factors = FALSE) table6 <- read.dta(ff[5]) ## ----practices---------------------------------------------------------------- # Each of the practices are 0/1 variables. The columns are interest are 5 through 15. impvar <- table5[table5$usevar=="yes", c(5:13)] m_impvar <- apply(na.omit(impvar), 2, mean) nimpvar <- table5[table5$usevar=="0",c(5:13)] no_impvar <- apply(na.omit(nimpvar), 2, mean) mintill <- table5[table5$usemintill=="1", c(5:13)] m_mintill <- apply(na.omit(mintill), 2, mean) nmintill <- table5[table5$usemintill=="0", c(5:13)] no_mintill <- apply(na.omit(nmintill), 2, mean) intercrop <- table5[table5$useinter=="1", c(5:13)] m_inter <- apply(na.omit(intercrop), 2, mean) nintercrop <- table5[table5$useinter=="0", c(5:13)] no_inter <- apply(na.omit(nintercrop), 2, mean) agroforestry <- table5[table5$useagrof=="1", c(5:13)] m_agrof <- apply(na.omit(agroforestry), 2, mean) nagroforestry <- table5[table5$useagrof=="0", c(5:13)] no_agrof <- apply(na.omit(nagroforestry), 2, mean) seedselect <- table5[table5$useseed=="1", c(5:13)] m_seed <- apply(na.omit(seedselect), 2, mean) nseedselect <- table5[table5$useseed=="0", c(5:13)] no_seed<- apply(na.omit(nseedselect), 2, mean) # combine into a single dataframe, with empty columns for the p-values that will be added in the next step means <- data.frame(m_impvar,no_impvar,p=NA,m_mintill,no_mintill,p=NA, m_inter,no_inter,p=NA, m_agrof,no_agrof, p=NA, m_seed,no_seed, p=NA) means[,c(1:2,4:5,7:8,10:11,13:14)]<-round(means[,c(1:2,4:5,7:8,10:11,13:14)],2) ## ----ttest-------------------------------------------------------------------- vars <- colnames(impvar) ## ----ttest10------------------------------------------------------------------ for (i in seq_along(vars)) { j <- vars[i] means[i,3] <-t.test(impvar[[j]], nimpvar[[j]])$p.value means[i,6] <-t.test(mintill[[j]], nmintill[[j]])$p.value means[i,9] <-t.test(intercrop[[j]], nintercrop[[j]])$p.value means[i,12] <-t.test(agroforestry[[j]], nagroforestry[[j]])$p.value means[i,15] <-t.test(seedselect[[j]], nseedselect[[j]])$p.value } ## ----ttest101----------------------------------------------------------------- p_to_star <- function(p) { ifelse(p <= .01, "***", ifelse(p < .05, "**", ifelse(p <= .1, "*", ""))) } # then, for the columns that contain p-values we convert them to stars for easier viewing means[,c(3,6,9,12,15)] <- p_to_star(means[,c(3,6,9,12,15)]) ## ----------------------------------------------------------------------------- #library(knitr) #kable(means)