1

私はRで以下を実行しています:

if (mito$count > 1) {
mito$Polymorphism  <- "SNP"
} else if ((mito$count == 1) & (mito$A_GT == mito$ref | mito$C_GT == mito$ref | mito$G_GT == mito$ref | mito$T_GT == mito$ref)) {
mito$Polymorphism  <- "No"
} else {
    mito$Polymorphism <- ""
}

そして、誰もが取得しているように見える通常のエラーが表示されます。

1: In if (mito$count > 1) { :
the condition has length > 1 and only the first element will be used
2: In if ((mito$count == 1) & (mito$A_GT == mito$ref | mito$C_GT ==  :
the condition has length > 1 and only the first element will be used

これは、単一の値とベクトルに関係していると思います(前者、やりたいです)。事前にデータフレームを指定する必要があるものはありますか?

4

1 に答える 1

2

ifelse()この状況で働いた:

mito$Polymorphism <- ifelse(mito$count > 1, 
                            'SNP', 
                            ifelse(((mito$count == 1) & 
                                    (mito$A_GT == mito$ref |
                                     mito$C_GT == mito$ref |
                                     mito$G_GT == mito$ref |
                                     mito$T_GT == mito$ref)),
                                   'NO',
                                   ''))
于 2013-10-28T22:47:14.050 に答える