我正在使用一个数据框,我正在从测试文件中读取,如下所示
Country,count
uk,34
au,35
us,53
in,44
这是我的R脚本。这只是一个例子。当我试图访问在for循环中创建的循环外的数据帧变量时,我发现找不到对象错误。即使我尝试使用assign。得到同样的错误。我正在使用R版本2.15.1。
args <- commandArgs()
#Storing the filename in fn given next to "--args"
fn <- args[which(args=="--args")+1]
t<-read.table(fn,sep=",",header=TRUE,as.is=TRUE,quote="")
t
for (i in levels(t$Country)){
if ( i == us ) {
RES <<- t[t$Country == i,]
}
}
RES
> args <- commandArgs()
> #Storing the filename in fn given next to "--args"
> fn <- args[which(args=="--args")+1]
> t<-read.table(fn,sep=",",header=TRUE,as.is=TRUE,quote="")
> t
Country count
1 uk 34
2 au 35
3 us 53
4 in 44
> for (i in levels(t$Country)){
+ if ( i == us ) {
+ RES <<- t[t$Country == i,]
+ }
+ }
> RES
Error: object 'RES' not found
Execution halted
我相信,我做错了什么。请指教。
答案 0 :(得分:2)
大多数机会永远不会遇到if约束(i == us)
永远不会和我们相等。 尝试删除“级别”
for (i in t$Country)
if (i =="us")