对于令人困惑的第一篇文章感到抱歉。为了清晰起见,我编辑了一些示例数据。
澄清问题摘要: 我有一个Excel电子表格,每个在大学注册的学生都有一行 自2010年秋季以来的每个学期,每个学生都有以下信息 列中:学期,校园,学院,专业,性别,种族,年龄。
我的目标是能够从 R 生成打印就绪报告,该报告将构建一些用于打印的输出质量表。我不在乎它们是PDF,HTML等,只要我可以打印它们并且它们有点吸引人。到目前为止,我已将电子表格导入 R 作为CSV我已尝试使用“GridExtra”库执行此操作并取得了一些成功。
到目前为止我有3个问题: 1.如果表中单元格的计数为零,则不会出现在表格中; 2.我无法理解如何创建更复杂的表:例如表; 3.我无法创建列和行总数。
示例表如下所示:
------Campus S-------|---------Campus M-----|-----Campus O------
2010 2011 2012 2010 2011 2012 2010 2011 2012 Total column
COE
A
B
C
COBA
A
B
C
总计 - >
到目前为止,我的努力是这样的(小样本数据集):
Term <- c("Fall 2010", "Fall 2010", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2010",
"Fall 2010", "Fall 2011", "Fall 2011", "Fall 2011", "Fall 2011")
Campus <- c("S", "M", "O", "O", "S", "S", "O", "S", "S", "O", "S", "S")
College <- c("COE", "COBA", "COBA", "COLFA", "COE", "COBA", "COBA", "COBA", "COBA", "COBA", "COBA", "COLFA")
Major <- c("A", "B", "C", "A", "C", "C", "A", "C", "C", "A", "C", "C")
Gender <- c("M", "F", "F", "F", "F", "M", "F", "F", "M", "F", "F", "M")
Ethnicity <- c("B", "W", "W", "B", "B", "W", "B", "W", "W", "B", "W", "W")
Age <- c(25, 27, 44, 62, 23, 36, 42, 44, 55, 65, 33, 20)
mydata <- data.frame(Term, Campus, College, Major, Gender, Ethnicity, Age)
mydata
termxcamp.table <- table(mydata$Term, mydata$Campus)
termxcoll.table <- table(mydata$Term, mydata$College)
library(gridExtra)
plot.new()
grid.table(termxcamp.table)
plot.new()
grid.table(termxcoll.table)
答案 0 :(得分:1)
欢迎来到R.我想我明白你想要什么。首先将excel表导出为csv文件,然后导出为R:
db<-read.csv("/path/to/file.csv", header=T)
这会将csv文件作为数据帧导入R(允许多种数据类型的矩阵)。然后,您想要查看apply()
函数,该函数按行或列在数据框/矩阵中运行。由于您的变量是列,因此您需要按列操作,例如:
means.by.col<-apply(db, 2, mean)
这将创建一个与列数相同的向量,并为每个变量提供平均值。确保您不要尝试将均值应用于带有字符的列,因为它显然会吐出错误。