作者tony255034 (5245566)
看板R_Language
标题[问题] csv如何转置(transform)?
时间Mon Nov 16 22:56:42 2015
文章分类提示:
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
想将csv整个转置,csv有点大(约1000000列 X 50栏),想转成(50列 X 1000000栏)
所以无法用EXCEL转置,目前是以data.frame的方式读取csv,转置後想再输出
简例
NAME SUBJECT SCORE
tony chinese 20
tony english 30
sam chinese 30
sam english 20
想转成
name tony tony sam sam
subject chinese english chinese english
score 20 30 30 20
[程式范例]:
目前只有想到用matrix,但是结果跟我想的差很多
mydata = matrix(read.csv("mydata.csv"))
ta <- t(mydata)
write.csv(ta,"newdata.csv")
[环境叙述]:
R3.2.2 win7 32bit
[关键字]:
transform
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.74.150
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1447685804.A.408.html
2F:推 Wush978: 型态会跑掉喔!请三思 11/16 23:00
3F:→ celestialgod: 输出可以设定不要quote应该就一样了 11/16 23:06
4F:→ tony255034: 可以在细说一点吗?? quote不知道是什麽东西 11/16 23:07
5F:→ celestialgod: write系列函数都可以设定quote = FALSE 11/16 23:08
6F:→ celestialgod: 可以避免字串多"" 11/16 23:09
7F:→ celestialgod: 你转成矩阵之後,会全部变成character 11/16 23:09
8F:→ celestialgod: 设定quote = FALSE输出在读入时就还是数字不是chr 11/16 23:09
9F:→ celestialgod: 我第一个箭头给的是之前测试读写的文章 11/16 23:10
10F:→ tony255034: 有字串的也可以吗?? 还是只能处理数字!? 11/16 23:17
11F:→ celestialgod: 可以 11/16 23:17
12F:→ celestialgod: 我那篇只处理数字而已 字串不要quote写出应该可以 11/16 23:18
刚刚试了以下的程式码就可以达到我要的情形了 感谢大家
只是不知道大一点的资料适不适用 明天再上来告诉大家
mydata = read.csv("mydata.csv")
ta <- t(mydata)
write.csv(ta,"newdata.csv")
很大的资料也适用喔~~ 输出csv假如不想要有双引号记得加quote=FALSE
※ 编辑: tony255034 (123.195.74.150), 11/18/2015 21:34:03