2014-11-15 1 views
0

Я использую следующий код R для генерации гистограмм атрибутов фрейма данных. Заголовок гистограммы - гистограмма df [[i]] в файле, а R Studio отображает правильную «гистограмму x» или «гистограмму y». Что я делаю не так?Создать файл изображения, не эквивалентный R Studio Output

df <- data.frame(x=runif(20), y=runif(20)) 
analyzedata <- function(df){ 
    for(i in names(df)){ 
    fit <- hist(df[[i]],main=paste("Histogram of" , i)) 
    png(filename=paste("/home/jabro/histogram_",i,".png")) 
    plot(fit) 
    dev.off() 
    } 
} 

Wrong Title

ответ

1

Эта функция истор делает две вещи. Он вычисляет данные гистограммы, а также отображает данные. Когда вы назначаете возвращаемое значение, то есть fit<-hist(), вы фиксируете данные гистограммы, а не настройки графика. Любые пользовательские свойства, которые вы передавали для построения, не сохраняются в этом объекте.

Если вы просто хотите установить имя переменной, вы могли бы сделать

analyzedata <- function(df){ 
    for(i in names(df)){ 
    fit <- hist(df[[i]],main=paste("Histogram of" , i)) 
    fit$xname < - i 
    png(filename=paste("/home/jabro/histogram_",i,".png")) 
    plot(fit) 
    dev.off() 
    } 
} 

или если вы хотите полный контроль над названием, вы можете повторить main= в сюжете.

analyzedata <- function(df){ 
    for(i in names(df)){ 
    fit <- hist(df[[i]],main=paste("Histogram of" , i)) 
    png(filename=paste("/home/jabro/histogram_",i,".png")) 
    plot(fit,main=paste("Histogram of" , i)) 
    dev.off() 
    } 
} 
Смежные вопросы