作者EricTao ()
看板R_Language
标题[问题] read csv 不想更动header ?
时间Tue Apr 21 18:39:11 2015
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
请把以下不需要的部份删除
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
请简略描述你所要做的事情,或是这个程式的目的
read.csv时,如果档案中的header是数字开头,R会自动给个英文开头
请问如何取消这个动作?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.137.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1429612753.A.D00.html
1F:→ EricTao: 阿, check.names=F就可以取消 不过好像不太好? 04/21 18:42
2F:→ andrew43: 是不太好,但如果要呼叫该栏资料要像 df$"1" 之类的。 04/21 19:06
对阿
请问我在
eval(parse(text=paste("df$",input$y,sep="")
的时候要怎麽做到df$"1"这个动作? input$y就是那个栏位名称
我用
eval(parse(text=paste("cova$",toString(input$y),sep="")))好像不行
3F:→ andrew43: 小心这点例外就可以了。 04/21 19:06
4F:→ andrew43: 另外,check.names还会做其它检查的动作,所以取消它并 04/21 19:07
5F:→ andrew43: 不是很好,要小心一些。 04/21 19:07
6F:→ psinqoo: 直觉有被丢入运算风险~ 04/21 19:24
原来如此 那请问有其他方法可以做到吗? 像上面那样加上""也是怪麻烦的
目前只有想到判断纯数字变数就补个英文给他 或是硬转型态成CHAR?
※ 编辑: EricTao (140.112.137.56), 04/21/2015 22:53:11
7F:推 andrew43: 以 \" 跳脱。 04/21 23:41
是这样的意思吗?
eval(parse(text=paste("df$\"",input$y,"\"",sep="")))
不能确定对不对,因为现在问题更大了XD
http://i.imgur.com/ouDHCyl.jpg
由图中的红圈圈可知
1. 输入的变数并不总是纯数字不能固定加上"",还是要判断
2. formula里面的变数名称没有加上"",这样也是不合法的对吧?
虽然也可以把它加上..
综合看来,还是避免用数字开头比较好吧
又白兜一圈了XD
※ 编辑: EricTao (140.112.137.56), 04/22/2015 15:44:57
8F:→ Wush978: 这里的跳脱字元可能是 ` 而不是 \ 04/22 20:09
9F:→ andrew43: 我之前没验证escape chr,不好意思。 04/22 21:15