1

以下のようにテストファイルから読み取っているデータフレームがあります

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

これは私のRスクリプトです。これは単なる例です。forループ内で作成されるループ外のデータフレーム変数にアクセスしようとすると、オブジェクトが見つからないというエラーが発生します。アサインを使ってみました。同じエラーが発生します。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 に答える