我创建了一个函数并将数据框作为参数传递给函数。现在,我想将该数据框名称作为字符串并将其存储为字符串变量。
使用的代码:
RFun <- function(a){
args=(commandArgs(TRUE))
l<<-80
h<<-85
fname<<-paste(a,"_Temp.csv")
a_R<-filter(a_RW,cs==2|cs==3)
a_R<-a_Rinse[-c(2,3)]
write.csv(a_R,file=fname,row.names=FALSE)
a_Rinse_Temperature_Deviations <- read.csv(paste("~/",fname"))
}
RFun(df)
当我尝试执行时,从上面的函数中创建数值变量l
和h
,其中包含我指定的值,但fname
正在为包含行的完整数据框创建和列,它没有按照我的要求存储。
执行也需要很多时间。
预期fname
应 df_Temp.csv
。其中df
是数据框。
答案 0 :(得分:1)
看起来像 assign(String varName,obj Value)可能会让你到达你需要的位置。
RFun<-function(a){
args=(commandArgs(TRUE))
l<<-80
h<<-85
fname <<- "File_Name_Text"
assign (fname,paste(a,"_Temp.csv"))
a_R<-filter(a_RW,cs==2|cs==3)
a_R<-a_Rinse[-c(2,3)]
write.csv(a_R,file=fname,row.names=FALSE)
a_Rinse_Temperature_Deviations <- read.csv(paste("~/",fname))
}
答案 1 :(得分:0)
没有一个有效的例子,很难效法。但是尝试只分配&#34;名称&#34;你的df而不是完整的df。试试这个:
fname <<- paste(deparse(substitute(a)),"_Temp.csv",sep="")