我又重开一个文件独立测试指令
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://webptt.com/cn.aspx?n=bbs/R_Language/M.1490601676.A.6D8.html
1F:→ x88776544pc: 可以多给点资讯, 像RR的物件形态, error message等 03/27 19:39
2F:→ Wush978: file. 开头的函数呢? 03/27 23:34
3F:→ BUQ: mode(RR) [1] "character" 03/28 09:02
4F:→ BUQ: 也不一定要那一行 我有很多部分需要路径处理 03/28 09:03
5F:→ BUQ: 再一个例子 03/28 09:03
6F:→ BUQ: dev.copy2pdf(file="C:/Users/Desktop/test/LUNGCIRC.pdf") 03/28 09:04
7F:→ BUQ: 我自以为是跟RR无关..啦 不知道有没有猜错 03/28 09:04
8F:→ locka: 看不懂原PO说的自动化是甚麽意思...如果是要把不同的资料 03/28 09:17
9F:→ locka: 写到list中的路径,用paste0()+*apply系列函数应该就能做到 03/28 09:18
10F:→ locka: 但原PO说失败...请问是怎麽个失败法呢? 03/28 09:20
※ 编辑: BUQ (140.135.58.147), 03/28/2017 09:52:13
11F:→ BUQ: 我内文改写了 应该会比较清楚 谢谢大大们Y 03/28 09:53
※ 编辑: BUQ (140.135.58.147), 03/28/2017 09:54:20
12F:→ locka: 把paste()里面的东西print出来检查看看就可以知道了呀~ 03/28 10:04
13F:→ locka: 话说如果kk是list的话,paste()里面应该是要放kk[i]吧 03/28 10:05
14F:→ BUQ: 对 少打了 03/28 10:06
15F:→ locka: 你每个不同档名的csv档内容都是RR? 03/28 10:10
16F:→ BUQ: 对 03/28 10:54
17F:→ locka: sapply(kk,function(x){write.csv(RR,paste0(a,x,".csv")}) 03/28 11:04
18F:→ locka: 推文长度关系将"C:/Users/Desktop/test/"简化为a 03/28 11:06
19F:→ 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
20F:→ locka: 他没有说你错,只是警告你正在尝试把某栏写到档案里而不是预 03/28 15:27
21F:→ locka: 设的data frame或是matrix格式...see help(write.table) 03/28 15:28
22F:→ BUQ: 第一部分成功 谢谢哥.... 03/28 15:39
23F:→ locka: 没用过第2个但你dev.copy2pdf(file=paste(...)後面就没了耶 03/28 15:51
24F:→ BUQ: 少打一个括号 03/28 16:02
25F:→ BUQ: 我去补上 03/28 16:02
※ 编辑: BUQ (140.135.58.147), 03/28/2017 16:02:53
26F:→ locka: 所以第2个的错误讯息是...? 03/28 16:05
27F:→ BUQ: 就如 错误码写的那样啊 03/28 22:16
※ 编辑: BUQ (140.135.58.147), 03/29/2017 10:52:22
28F:→ BUQ: 我有 改了一下 看会不会比较清楚 03/29 10:52
29F:→ locka: 会出现+号就是因为你指令少了一个右括号的关系...没打完当 03/29 11:09
30F:→ locka: 然停在那边啊,那不是错误码。 03/29 11:10
31F:→ BUQ: 喔喔 对不起 我真的很状况外我弄一下看看 03/29 14:24
32F:→ BUQ: 搞定了 多谢 哥 04/07 15:56