R软件及统计分析因子列表数据框及输入输出.ppt

R软件及统计分析因子列表数据框及输入输出.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R软件及统计分析因子列表数据框及输入输出

如果指定的文件已经存在则原来内容被覆盖。加上一个append=TRUE参数可以不覆盖原文件而是在文件末尾附加,这很适用于运行中的结果记录。 cat()函数和print()都不具有很强的自定义格式功能,为此可以使用cat()与format() 函数配合实现。format()函数为一个数值向量找到一种共同的显示格式然后把向量转换为字符型。例如: format(c(1, 100, 10000)) [1] 1 100 10000 S-PLUS中的format()函数功能较强,具有较多的控制参数,请参见帮助。 R中目前format() 函数功能仍较弱,但R有一个formatC函数可以提供类似C语言的printf格式功能。formatC对输入向量的每一个元素单独进行格式转换而不生成统一格式,例如:   formatC(c(1, 10000)) [1] 1 1e+004 在formatC()函数中可以用format=参数指定C格式类型,如“d”(整数),“f”‘(定点实数),“e”(科学记数法),“E”, “g”(选择位数较少的输出格式),“G”, “fg”(定点实数但用digits 指定有效位数),“s”(字符串)。 可以用width指定输出宽度,用digits指定有效位数(格式为e,E,g,G,fg时)或小数点后位数(格式为f)时。可以用flag参数指定一个输出选项字符串,字符串中有-表示输出左对齐,有0表示左空白用0填充,有+表示要输出正负号,等等。例如,我们有一个矩阵da中保存了三个日期的年、月、日: da [,1] [,2] [,3] [1,] 99 1 3 [2,] 96 11 9 [3,] 65 5 18 为了输出这三个日期,可以用apply函数指定对每一行作用一个输出函数,此输出函数利用cat()和formatC来控制: apply(da, 1, function(r) cat(formatC(r[1], format=d, width=2, flag=0), -, formatC(r[2], format=d, width=2, flag=0), -, formatC(r[3], format=d, width=2, flag=0), \n, sep=)) 99-01-03 96-11-09 65-05-18 NULL 这里我们知道apply函数第一个参数指定了一个矩阵,第二个参数说明对行操作还是对列操作,第三个参数是一个函数,这里我们使用了直接定义一个函数作为参数的办法。输出结果中多了一个NULL函数,这是因为我们在交互运行,apply的结果作为一个表达式的值(NULL )会被显示出来。 为避免显示,可以把结果赋给一个临时变量名,或者把整个表达式作为invisible() 函数的参数,这时不显示表达式值。 S的输出缺省显示在交互窗口。可以用sink()函数指定一个文件以把后续的输出转向到这个文件,并可用append参数指定是否要在文件末尾附加: sink(“E:/work/result.txt, append=TRUE) ls() d sink() 调用无参数的sink()把输出恢复到交互窗口。 Write(t(x),file=‘文件名’,nol=nol(x))把一个矩阵X输出到文件中,把X转置后输出因为R中矩阵是列优先的,如果不转置则输出是按列输出的。如果不指定列数则缺省使用5列。文件名缺省用’data’. Write.table(x,file=‘文件名’)把数据框X输出到文件中,输出包括变量名表头和行名。 输入 为了从外部文件读入一个数值型向量,S提供了scan()函数。如果指定了file参数(也是第一参数),则从指定文件读入,缺省情况下读入一个数值向量,文件中各数据以空白分隔,读到文件尾为止。例如: cat(1:12, \n, file=‘E:/work/result.txt) x - scan(‘E:/work/result.txt) 如果文件中是一个用空白分隔的矩阵(或数组),我们可以先用scan()把它读入到一个向量然后用matrix()函数(或array()函数)转换。如: y - matrix(scan(‘E:/work/result.txt), ncol=3, byrow=T) 实际上,scan()也能够读入一个多列的表格,只要用what参数指定一个列表,则列表每项的类型为需要读取的类型。用skip参数可以跳过文件的开始若干行不读。用sep参数可以指定数据间的分隔符。详见帮助。 scan()不指定读取文件名时是交互读入,读入时用一个空行结束。 如果要读取一个数据框,S提供了一个read.table()函数。它只要给出一个文件

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档