看板 R_Language 關於我們 聯絡資訊
我又重開一個文件獨立測試指令 buq <-c("TUBERCU","BACTERIA","OTHERBAC") 這個向量其實是很長的一串 我為了測試方便先拿三個來測 RR資料如下 http://i.imgur.com/GV3PUcP.jpg 下面兩個是寫入檔案被我改寫成這樣 ============================= write.table(RR,paste("C:/Users/Yan-Rong/Desktop/test/outp/", buq[1], ".csv", sep=""),append=TRUE,sep=",") 錯誤碼如下 Warning message: In write.table(RR, paste("C:/Users/Yan-Rong/Desktop/test/outp/", : appending column names to file ============================================ dev.copy2pdf(file=paste("C:/Users/Yan-Rong/Desktop/test/outp/", buq[1], ".pdf", sep="") 錯誤碼如下 出現+號 好像要我填什麼之類的 > dev.copy2pdf(file=paste("C:/Users/Yan-Rong/Desktop/test/outp/", buq[1], ".pdf", sep="")) + 它似乎 要我填什麼東西之類的 =========================================================== 作者: BUQ (固執又暴燥) 看板: R_Language 標題: [問題] 用R 字串處理 得到路徑 作為指令碼 時間: Mon Mar 27 16:01:13 2017 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]:半個月 [問題敘述]: 我有一個名為kk 的list 內容是檔名 write.table(RR,"C:/Users/Desktop/test/name1.csv"...略 ^^^^^ 這個部分要用list的內容替換 我想用字串處理搞定路徑+檔名 讓他自動化 paste ("A","B",sep="") <=我就想利用這個函數 兩者 結合就變成這樣 write.table(RR,paste("C:/Users/Desktop/test/", kk, ".csv"...... 行的通嗎 [程式範例]: [環境敘述]: R 3。3。3 [關鍵字]: 字串處理路徑問題 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.135.58.147 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1490601676.A.6D8.html
x88776544pc: 可以多給點資訊, 像RR的物件形態, error message等 03/27 19:39
Wush978: file. 開頭的函數呢? 03/27 23:34
BUQ: mode(RR) [1] "character" 03/28 09:02
BUQ: 也不一定要那一行 我有很多部分需要路徑處理 03/28 09:03
BUQ: 再一個例子 03/28 09:03
BUQ: dev.copy2pdf(file="C:/Users/Desktop/test/LUNGCIRC.pdf") 03/28 09:04
BUQ: 我自以為是跟RR無關..啦 不知道有沒有猜錯 03/28 09:04
locka: 看不懂原PO說的自動化是甚麼意思...如果是要把不同的資料 03/28 09:17
locka: 寫到list中的路徑,用paste0()+*apply系列函數應該就能做到 03/28 09:18
locka: 但原PO說失敗...請問是怎麼個失敗法呢? 03/28 09:20
※ 編輯: BUQ (140.135.58.147), 03/28/2017 09:52:13
BUQ: 我內文改寫了 應該會比較清楚 謝謝大大們Y 03/28 09:53
※ 編輯: BUQ (140.135.58.147), 03/28/2017 09:54:20
locka: 把paste()裡面的東西print出來檢查看看就可以知道了呀~ 03/28 10:04
locka: 話說如果kk是list的話,paste()裡面應該是要放kk[i]吧 03/28 10:05
BUQ: 對 少打了 03/28 10:06
locka: 你每個不同檔名的csv檔內容都是RR? 03/28 10:10
BUQ: 對 03/28 10:54
locka: sapply(kk,function(x){write.csv(RR,paste0(a,x,".csv")}) 03/28 11:04
locka: 推文長度關係將"C:/Users/Desktop/test/"簡化為a 03/28 11:06
BUQ: 喔...謝謝我試看看 03/28 11:24
※ 編輯: BUQ (140.135.58.147), 03/28/2017 15:19:05 ※ 編輯: BUQ (175.96.64.25), 03/28/2017 15:21:15
locka: 他沒有說你錯,只是警告你正在嘗試把某欄寫到檔案裡而不是預 03/28 15:27
locka: 設的data frame或是matrix格式...see help(write.table) 03/28 15:28
BUQ: 第一部分成功 謝謝哥.... 03/28 15:39
locka: 沒用過第2個但你dev.copy2pdf(file=paste(...)後面就沒了耶 03/28 15:51
BUQ: 少打一個括號 03/28 16:02
BUQ: 我去補上 03/28 16:02
※ 編輯: BUQ (140.135.58.147), 03/28/2017 16:02:53
locka: 所以第2個的錯誤訊息是...? 03/28 16:05
BUQ: 就如 錯誤碼寫的那樣啊 03/28 22:16
※ 編輯: BUQ (140.135.58.147), 03/29/2017 10:52:22
BUQ: 我有 改了一下 看會不會比較清楚 03/29 10:52
locka: 會出現+號就是因為你指令少了一個右括號的關係...沒打完當 03/29 11:09
locka: 然停在那邊啊,那不是錯誤碼。 03/29 11:10
BUQ: 喔喔 對不起 我真的很狀況外我弄一下看看 03/29 14:24
BUQ: 搞定了 多謝 哥 04/07 15:56