1

我有一个数据框,我正在从测试文件中读取数据,如下所示

    Country,count
    uk,34
    au,35
    us,53
    in,44

这是我的 R 脚本。这只是一个例子。当我尝试访问在 for 循环内创建的循环外的数据框变量时,我收到 object not found 错误。即使我尝试使用分配。得到同样的错误。我正在使用 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

我相信,我做错了什么。请指教。

4

1 回答 1

2

大多数情况下 if 约​​束永远不会满足(i == us)

它永远不会与我们平等。尝试删除“级别”

 for (i in t$Country)
      if (i =="us")
于 2012-09-13T13:19:50.740 回答