看板 R_Language 關於我們 聯絡資訊
[軟體熟悉度]: 入門 [問題敘述]: 我有一組數據 data <- read.csv("OLFdata.csv", header = T) data[data == "Null"] <- NA data$date <- as.POSIXct(strptime(data$date,format = "%m/%d/%Y %H:%M",tz="GMT")) 整理之後發現從第2 到 第23column的數據都被讀成字元 上網找到了 data$a <- as.numeric(as.character(data$a)) 這個可以幫我轉成數字 於是我想一口氣完成轉換 我嘗試了 data[2:23] <- as.numeric(as.character(data[2:23]) Warning message: NAs introduced by coercion 全部都變成NA 有辦法一次做完嗎? 目前我已經一個一個轉好了 我畫了一個 multiple y vs x的圖 想要改 y軸 用aixs都沒反應 我嘗試用 axis(side = 2, col = 'darkgreen') 類似這樣的指令 就跑不出來 整個 Rstudio停在那邊 我要強制停止 R-3.2.1 Rstudio-0.99.451 windows OS 或者這樣說 我要畫 multiple Y vs X dailymean = aggregate(data, list(Date=as.Date(data$date)),mean,na.rm=T) xyplot(dailymean$a ~ dailymean$Date, type="l", ylab = "a") axis(2,pretty(range(dailymean$a))) par(new=T) xyplot(dailymean$b ~ dailymean$Date, type="l", ylab = " ") axis(4,pretty(range(dailymean$b))) http://stackoverflow.com/questions/9627389/xy-plot-with-multiple-y-scales 參考這個下去做的 但是 axis 都沒反應 我想說改個顏色看看 axis(2, col="darkgreen") 看 axis這個function 正常嗎 結果 process 轉了十幾分鐘 沒回應 我就手動關掉了 改個軸 會那麼吃資源嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 107.15.112.169 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1436625985.A.192.html ※ 編輯: dreler1 (107.15.112.169), 07/11/2015 23:26:39 ※ 編輯: dreler1 (107.15.112.169), 07/11/2015 23:40:50
celestialgod: 少一個 , 07/11 23:46
celestialgod: 要用data[,2:23] 07/11 23:47
leo0650: data[,2:23] <- sapply(data[,2:23]), function(x){ 07/11 23:48
leo0650: as.numeric(as.character(x))} 07/11 23:49
leo0650: ) 07/11 23:49
leo0650: 直接將data.frame用as.character會coerce成atomic vector 07/11 23:57
celestialgod: data[,2:23] = as.numeric(as.matrix( 07/11 23:58
celestialgod: as.character(a[,2:23]))) 07/11 23:58
leo0650: 例如 str(as.character(iris))顯示長度為5的字串向量,非 07/11 23:59
leo0650: data.frame 07/11 23:59
celestialgod: 無視我的推文 推錯了(攤手 07/12 00:01
celestialgod: 比較建議read.csv加上stringsAsFactors=FALSE 07/12 00:02
celestialgod: 全部都是character可以直接as.numeric(as.matrix(轉 07/12 00:03
celestialgod: 或是乾脆在read.csv指定colClasses 07/12 00:04
dreler1: 謝謝 那對於 axis改軸 可能是哪邊問題嗎? 07/12 00:07
leo0650: apply系列函數等於幫你做"一個一個轉"的動作喔~ 07/12 00:07
leo0650: 可參閱http://goo.gl/NdYwyY 07/12 00:08
celestialgod: 一個個轉 你等於一次次複製data.frame 07/12 00:11
celestialgod: 想辦法一次解決吧 07/12 00:11
celestialgod: axis問題 你要全部PO上來才知道 這樣看不出來 07/12 00:12
※ 編輯: dreler1 (107.15.112.169), 07/12/2015 00:22:41
celestialgod: xyplot是grid based不能用asxi 07/12 00:41
celestialgod: stackoverflow上是用plot 07/12 00:42
celestialgod: xyplot要改axis要在panel裡面增加panel.axis 有需要 07/12 00:43
celestialgod: 再改給你看 07/12 00:43
celestialgod: 不然就考慮latticeExtra的doubleYAxis 07/12 00:44
dreler1: 我自己試試看先 謝謝了 07/12 00:52
※ 編輯: dreler1 (107.15.112.169), 07/12/2015 04:12:06 ※ 編輯: dreler1 (107.15.112.169), 07/12/2015 04:14:55 我最後用 > cols <- names(data) # names of variables > cols <- cols[-1] #exclude date > cols <- cols[-23:] #exclude rest > data[cols] <- sapply(data[cols],as.numeric) # covert data to numeric data 完成 現在來試試看 panel的部分 XD ※ 編輯: dreler1 (107.15.112.169), 07/12/2015 04:32:56