→ 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