我在Mac上使用R Studio版本0.98.1062(OS X Yosemite 10.10.1)。 我想从数据中创建一个表格(最好将其转换为excel或pdf格式),用于描述在不同学科注册的女性比例的几个摘要统计数据:
摘要(农业$ X2009.PROP)
最小。第一曲。中位数第3曲。最大
0.0000 0.3333 0.4881 0.4689 0.6026 1.0000
摘要(经济学$ X2009.PROP)
最小。第一曲。中位数第3曲。最大。 NA的
0.0000 0.2555 0.3161 0.3218 0.3887 0.6923 29
摘要(教育$ X2009.PROP)
最小。第一曲。中位数第3曲。最大。 NA的
0.0000 0.2967 0.5000 0.5490 0.8571 1.0000 46
摘要(法$ X2009.PROP)
最小。第一曲。中位数第3曲。最大。 NA的
0.0000 0.4250 0.5695 0.5324 0.6593 1.0000 28
基本上我希望表格看起来像这样:
纪律/ SS Min.1st Qu。中位数第3曲。最大。
农业0.0000 0.3333 0.4881 0.4689 0.6026 1.0000 经济学0.0000 0.2555 0.3161 0.3218 0.6923 29 教育...... 法律......你会如此善意地告诉我如何编写代码吗?
答案 0 :(得分:0)
有两种基本方法可以做到这一点:预先或之后组合数据。
从统一分布中随机抽取的一些样本数据:
x <- runif(100)
y <- runif(100)
如果您想预先合并数据,则需要使用data.frame()
:
d <- data.frame(variable1=x,variable2=y)
summary(d)
将为您提供如下输出:
variable1 variable2
Min. :0.03026 Min. :0.01173
1st Qu.:0.29410 1st Qu.:0.24968
Median :0.48517 Median :0.47524
Mean :0.51137 Mean :0.47865
3rd Qu.:0.71354 3rd Qu.:0.69512
Max. :0.98465 Max. :0.980
(请注意,您也可以在不指定列名的情况下执行data.frame()
,在这种情况下,变量的名称将用作列名。)这可能需要一些工作才能将其转换为您想要的格式,但它可能是R中后期分析的更好格式。{d
现在处于“宽格式”,通过像{{1}这样的包来翻译成标准的“长格式”并不困难。或其后继者reshape
)。
作为侧边栏,您可以使用reshape2
(列绑定)而不是cbind()
,在这种情况下,您现在可以使用矩阵而不是数据框。对于纯粹的数值和简单的汇总统计数据,这并没有太大的区别。我只是将其视为与data.frame
并行(见下文) - 通常观察结果存储在数据帧中而不是普通矩阵中(即语义上更丰富的存储空间)。
如果要合并摘要,可以使用rbind()
(行绑定)来合并摘要。
rbind()
将为您提供如下输出:
xs <- summary(x)
ys <- summary(y)
s <- rbind(xs,ys)
print(s)
从那里开始,使用内置函数将表格数据写入文件应该很容易,请参阅 Min. 1st Qu. Median Mean 3rd Qu. Max.
xs 0.03026 0.2941 0.4852 0.5114 0.7135 0.9847
ys 0.01173 0.2497 0.4752 0.4787 0.6951 0.9803
。 Excel可以打开制表符分隔和CSV文件。如果您想直接转到PDF,那么您需要查看通过?write.table
包导出到LaTeX和/或使用RMarkdown生成报告。这些系统的打印表在网上其他地方有详细记载。