看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 read.csv時,如果檔案中的header是數字開頭,R會自動給個英文開頭 請問如何取消這個動作? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.137.56 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1429612753.A.D00.html
EricTao: 阿, check.names=F就可以取消 不過好像不太好? 04/21 18:42
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="")))好像不行
andrew43: 小心這點例外就可以了。 04/21 19:06
andrew43: 另外,check.names還會做其它檢查的動作,所以取消它並 04/21 19:07
andrew43: 不是很好,要小心一些。 04/21 19:07
psinqoo: 直覺有被丟入運算風險~ 04/21 19:24
原來如此 那請問有其他方法可以做到嗎? 像上面那樣加上""也是怪麻煩的 目前只有想到判斷純數字變數就補個英文給他 或是硬轉型態成CHAR? ※ 編輯: EricTao (140.112.137.56), 04/21/2015 22:53:11
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
Wush978: 這裡的跳脫字元可能是 ` 而不是 \ 04/22 20:09
andrew43: 我之前沒驗證escape chr,不好意思。 04/22 21:15