楼主: Martin.Z
6035 8

[问答] R输出Console结果到EXCEL的问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

14%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2652 点
帖子
5
精华
0
在线时间
4 小时
注册时间
2017-10-19
最后登录
2017-10-23

楼主
Martin.Z 发表于 2017-10-19 22:42:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R输出的Console结果,比如说一个table(A,B)的二维频率表,在Console或者通过sink(文件名)的输出中,总是以若干空格间隔的表格,这个无法直接粘贴到EXCEL中,因为粘贴后每行结果都在第一个单元格,整理起来太痛苦。

比如:
代码:
mytable<-xtabs(~cyl+gear,data=mtcars,addNA=TRUE)
mytable

结果在CONSOLE展示
   gear
cyl  3  4  5
  4  1  8  2
  6  2  4  1
  8 12  0  2

无论是直接复制这个结果还是通过sink把结果导出到文件再复制,结果粘贴到EXCEL里面以后,每行结果只在一个单元格里面,比如上面CONSOLE输出第二行cyl 3 4 5,全部显示在EXCEL第一个单元格,而不是cyl、3、4、5各自一个单元格。

虽然R很强大,但很多时候分析结果还是要回到EXCEL做一些加工,和领导同事交流也基本用EXCEL。但是上面这个问题一直很困扰。

请教大家如何将R的CONSOLE结果输出有效的EXCEL展示,即任何输出的表格和EXCEL的单元格可以一一对应,而无需手动整理。

不要说write.table之类,这个并不能把CONSOLE的所有输出写入EXCEL,只有部分对象才支持。

非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL的问题 Console EXCEL xcel exce

回帖推荐

deem 发表于3楼  查看完整内容

你只需要在EXCEL里面操作一次 ‘数据’--‘分列‘

沙发
Martin.Z 发表于 2017-10-19 22:53:16
补充一个例子,比如我想把str(mtcars)的结果输出到EXCEL,每行的不同元素可以和EXCEL单元格一一对应。这个用write.table是无法做到的

藤椅
deem 学生认证  发表于 2017-10-19 22:53:51
你只需要在EXCEL里面操作一次 ‘数据’--‘分列‘

板凳
Martin.Z 发表于 2017-10-19 23:01:14
感谢!但EXCEL这种操作有个问题,就是标题行可能会错位。同样用1楼的例子,分列后结果如下

捕获.PNG (1.82 KB)

捕获.PNG

报纸
Martin.Z 发表于 2017-10-19 23:01:49
Martin.Z 发表于 2017-10-19 23:01
感谢!但EXCEL这种操作有个问题,就是标题行可能会错位。同样用1楼的例子,分列后结果如下
其中cyl行左移了一列

地板
deem 学生认证  发表于 2017-10-19 23:28:12
Martin.Z 发表于 2017-10-19 23:01
其中cyl行左移了一列
excel里面手工调整了,或者写个函数做这件事情,不再用xtabs。我一般会用一个字符型的矩阵放输出结果

7
屋檐滴语 发表于 2017-10-20 12:03:18
试试openxlsx这个包。

8
shenbaiseshatan 在职认证  发表于 2017-10-20 15:30:35
#7正解!

9
Martin.Z 发表于 2017-10-20 22:16:37
屋檐滴语 发表于 2017-10-20 12:03
试试openxlsx这个包。
大神能举个例子吗?比如我上面那个例子
mytable<-xtabs(~cyl+gear,data=mtcars,addNA=TRUE)

怎么用openxlsx包把结果输出到EXCEL里面且结果每行以TAB分隔。非常感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-31 13:03