2015-12-11 2 views
-1

Я создал функцию и передал кадр данных в качестве параметра функции. Теперь я хотел бы взять это имя фрейма данных в виде строки и сохранить его в виде строковой переменной.Назначить имя dataframe переменной в функции

код используется:

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

try Rfun ("df"); fname <- paste0 (a, "_ Temp.csv") –

+0

@VenYao дает ошибку 1 «Ошибка в фильтре (a, cs == 2): объект« cs »не найден» – Pallavi

+0

, пожалуйста, дайте минимальный рабочий пример. @Pallavi –

ответ

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)) 
} 
+0

, не работают, как ожидалось, когда я пытаюсь присвоить значения переменной. В условиях он не проверяет эти переменные и не выполняет как ожидалось – Pallavi

+0

Простите, я не знаю, как вы ожидаете, что это сработает. Я подозреваю, что вы пытаетесь получить доступ к строке fname, когда хотите получить доступ к df ** get (fname) **. Удачи! – kpie

0

Трудно следовать без рабочего примера. Но попробуйте назначить только «имя» вашего df вместо полного df. Попробуйте следующее:

fname <<- paste(deparse(substitute(a)),"_Temp.csv",sep="") 
Смежные вопросы