Я пытаюсь создать свою первую пользовательскую функцию в R (yay!). У меня сейчас есть что-то вроде работы, но я думаю, что это может быть улучшено.Подавление имен столбцов в матрице и функции циклирования
В принципе, я хочу создать свою собственную пользовательскую таблицу внутри R, которую можно запустить через xtable для окончательного отчета. Я хочу, чтобы таблица соответствовала этому формату для каждого столбца:
group1mean, group1sd, group2mean, group2sd, t-значение, p-значение.
В настоящее время, моя функция делает это. Тем не менее, он создает имена столбцов (например, V3 и V4), которые я хотел бы оставить пустым, и я хотел бы, чтобы он прошел через несколько зависимых переменных и автоматически добавлял результаты в новые строки в матрице. Прямо сейчас, я должен написать строку кода для каждой зависимой переменной вручную (в примере ниже видеоустройств являются PWB, SWB и EWB
Вот мой код до сих пор:.
data <- read.delim("~/c4044sol.txt", header=T)
library(psych)
proc.ttest <- function(dv,group,decimals) {
x1 <- describeBy((dv), (group), mat=TRUE)
stat1 <- t.test((dv) ~ (group))
output1 <- c(paste (round(x1$mean[1], digits=(decimals)),"(", round(x1$sd[1], digits= (decimals)), ")", sep =" "),
paste (round(x1$mean[2], digits=(decimals)), "(", round(x1$sd[2], digits=(decimals)), ")", sep =" "),
round(stat1$statistic, digits=2), round(stat1$p.value, digits=3))
return(output1)
}
toprow <- c("M (SD)", "M (SD)", "t", "p")
outtable <- rbind(toprow,
proc.ttest(data$PWB, data$college, 2),
proc.ttest(data$SWB, data$college, 2),
proc.ttest(data$EWB, data$college, 2))
colnames(outtable) <- c("College graduate", "Less than college graduate", "", "")
row.names(outtable) <- c("", "PWB", "SWB", "EWB")
library(xtable)
xtable(outtable)
Так чтобы повторить, я хотел бы подавить имена столбцов «V3» и «V4» (оставьте их пустыми) и сделать код запущенным автоматически в списке переменных. Возможна ли любая из этих возможностей? Спасибо за ваше время.
Здравствуйте, зачем конкретно нужны «пустые» имена столбцов? Что бы это сделало, что вы не можете сделать с именами столбцов? –
У меня есть по существу две строки имен столбцов - одна для групп «колледж» и «не колледж», а другая для статистики, M1, SD1, M2, SD2, t, p. Поскольку это работает сейчас, когда вы используете xtable, он печатает «V3» выше t и «V4» выше p. Это не существенная информация для окончательного отчета. Так что это эстетическая штука. – graywolf97
Является ли проблема одной из форматирования для вывода на печать или управления данными? Если последнее, похоже, что использование 'list'' data.frame's будет вашим лучшим выбором –