Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 旧脚本、新服务器、意外错误_R_R Brew - Fatal编程技术网

R 旧脚本、新服务器、意外错误

R 旧脚本、新服务器、意外错误,r,r-brew,R,R Brew,我有一个R脚本,它从MySQL数据库中提取数据,处理数据,创建几个图表和图形,将这些图形打印到文件中,并以字符串形式返回文件名。它在旧服务器(运行R2.10.1的Solaris 10(32位)上运行正常,但现在在新服务器(运行R2.12.1的Centos(64位))上出现错误 我不会发布整个脚本,因为它相当长,而且大部分工作正常。它仍然访问数据库,处理数据,创建图表和图形,并将它们打印到文件中。它只是不返回文件名。这就是错误: Error in save(exp, meta, MDist.med

我有一个R脚本,它从MySQL数据库中提取数据,处理数据,创建几个图表和图形,将这些图形打印到文件中,并以字符串形式返回文件名。它在旧服务器(运行R2.10.1的Solaris 10(32位)上运行正常,但现在在新服务器(运行R2.12.1的Centos(64位))上出现错误

我不会发布整个脚本,因为它相当长,而且大部分工作正常。它仍然访问数据库,处理数据,创建图表和图形,并将它们打印到文件中。它只是不返回文件名。这就是错误:

Error in save(exp, meta, MDist.median, redgrad.pal, colgrad.pal, phase_starts,  : 
  object âx.gcâ not found
Function brew returned an object of 'try-error'.
下面是脚本的一些部分:

<% 
Sys.umask(mode="0022")
fn=tempfile('z_')
fn.prof<-paste(fn,'prof',sep='.')
fn.data<-paste(fn,'txt',sep='.')
fn.r<-paste(fn,'rda',sep='.')
fn.graph=paste(fn,'pdf',sep='.')

library(Cairo)
library(rjson)
library(DBI)
library(RMySQL)
library(reshape)
library(plyr)
library('RColorBrewer')
library(ggplot2)
library(lattice)
library(latticeExtra)
library(hexbin)


exp_id<-ifelse(is.null(POST$exp_id),0,as.numeric(POST$exp_id))
group_id<-ifelse(is.null(POST$groupset_id),0,as.numeric(POST$groupset_id))
saveR<-ifelse(is.null(POST$saveR),FALSE,as.logical(POST$saveR))
control<-ifelse(is.null(POST$control),'rowH',as.character(POST$control))

#open connection to db
#process data
#format

#output

pdf(fn.graph,title=meta$exp_name)
dummy <- capture.output(print(plist)) #expensive: 3.56s
print(dists.med.areaplot) #expensive: 5.67s
print(dists.med.lplot)
dev.off()

####HERE IS PROBLEM####
save(exp, meta, MDist.median, 
        redgrad.pal, colgrad.pal, 
        phase_starts, voi, plist, 
        grect, nogrid, dists.med.areaplot, dists.med.lplot,x.gc, file=fn.r )


#return filenames to calling script
cat(toJSON(list('filename'=fn.data, 'graph_pdf'=fn.graph,'rfile'=fn.r)))
%>

原始海报回答了这个问题。此问题可能被标记为已回答。

您是否检查了默认区域设置(请参阅:
Sys.getlocale()
)在新环境中是否不同?@daroczig:有趣。旧区域设置为
C
。新的语言环境是Sys.getlocale()[1]“LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_地址=C;LC_电话=C;LC_测量=en_US.UTF-8;LC_标识=C”似乎区域设置阻止了对错误消息的合理读取,该错误消息应读取
未找到对象“x.gc”
。我发现x.gc没有被创建,现在一切都好了。+1用于解决自己的问题并严肃地对待行为不端的对象:-)