c++数据存为excel_通过剪贴板在R和Excel之间移动数据

相信大家都用Excel处理过数据,对于使用R的人来说,更是经常需要从Excel中把数据读入到R中做进一步处理。虽然Excel统计和绘图也很强大,但是还是是有一些局限性的。

R是不能直接读取Excel文件的,csv文件除外,因为csv文件本质上是文本文件,是以逗号为分隔符的文本文件,只是恰好能用Excel打开而已。其实以制表符隔开的文本文件也是可以直接用Excel打开的。如果要使用R直接读取.xlsx文件,是需要额外安装一些R包的

小编的做法一般是将Excel文件另存为csv文件或者是制表符分隔的文件再用R的read.table来做处理。其实有时候只是想对Excel中一列或者几列做一个简单的查看或统计,并不需要小题大做。那么今天小编就给大家介绍两个简单R读取Excel中数据的偷懒方法。

1.scan

举个例子,我从TCGA下载了一套临床数据,想看看不同病理分期的病人分别有多少个,当然Excel也可以通过筛选来得到每个分期的病例数,但是当病理分期很多的时候,操作起来也需要一些时间(如果你是Excel高手,熟悉数据透视表,另当别论),而如果读到R中,直接一个简单的table命令就可以得到结果。数据如下:

1ce33a49c85b683a3dea939d545cc329.png

这个时候scan就可以大显身手了

#读入的是字符串,所以需要设置what为character,
#如果读入的是数字可以直接scan()
#分隔符默认是空,这里设置成制表符
stage=scan(what="c",sep="t")  #回车
#将stage这列的信息从Excel中拷贝粘贴到R中就可以了
table(stage)

f892de3526bcdd09b8892a09ba34792b.png

2.读取clipboard中的内容

第二种方法是直接读取剪切板(clipboard)中内容,这个方法也利用read.table,只是不从外部文件中读取数据,而是直接读取剪切板中的内容。这样就可以省去另存为这个动作。

还是这套数据,我们来看看男性和女性病人的年龄有没有显著差异

6ebcde20b564831d88b2387fa8598daf.png
#先选中Excel中三列数据,ctrl+c拷贝到剪切板中
#通过read.table读入到data中
data=read.table("clipboard",header=T,sep="t")、
#计算年龄
data$age=2020-data$year_of_birth
#T检验
t.test(age~gender,data)  #p值0.1867,不显著
#boxplot
boxplot(age~gender,data,col=c("red","blue"))

具体操作方法和结果如下

a05ce6ae8ff55d919c5d31b63e885a62.png

f81933c2611ac3f1414a53e68f632f15.png

希望今天的偷懒方法对大家有用。

通过剪贴板在R和Excel之间移动数据​mp.weixin.qq.com
a3e1535a4ef268f51880245122425811.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值