どのようにしてdata2 $ siteのc( "1"、 "2"、 "4")値のいずれかを調べることができますか?
間違いdata2$Site == c("1", "2", "4")
によって、あなたは%で%を使用する必要がありません。
data2$Site %in% c("1", "2", "4")
再現性の例に
レッツ仕事:
data(iris)
このよく知られたデータセットがかかる種という名前の列を、持っています3値:virginica、setosa、およびversicolor。 YES再び
> iris$Species
[1] setosa setosa setosa setosa setosa setosa setosa setosa setosa
[10] setosa setosa setosa setosa setosa setosa setosa setosa setosa
[19] setosa setosa setosa setosa setosa setosa setosa setosa setosa
[28] setosa setosa setosa setosa setosa setosa setosa setosa setosa
[37] setosa setosa setosa setosa setosa setosa setosa setosa setosa
[46] setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor
[55] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[64] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[73] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[82] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[91] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[100] versicolor virginica virginica virginica virginica virginica virginica virginica virginica
[109] virginica virginica virginica virginica virginica virginica virginica virginica virginica
[118] virginica virginica virginica virginica virginica virginica virginica virginica virginica
[127] virginica virginica virginica virginica virginica virginica virginica virginica virginica
[136] virginica virginica virginica virginica virginica virginica virginica virginica virginica
[145] virginica virginica virginica virginica virginica virginica
私は私の種がsetosaかvirginicaのいずれかであるかどうかを確認
は、最初の50は、YESを返す必要があり、第二50 NO、そして最後の50:これは完全な列です。
> iris$Species == c('virginica','setosa')
[1] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
[18] TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
[35] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
[52] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[69] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[86] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
[103] TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
[120] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
[137] TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
最初と最後の50件のレコードがTRUE - FALSEの交流として返されます。我々は間違った方法を確認するときに何が起こるか見てみましょう。正しい方法を試してみましょう:
> iris$Species %in% c('virginica','setosa')
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[18] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[35] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
[52] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[69] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[86] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
[103] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[120] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[137] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
これは項目番号1です。項目番号2は、あなたのような何かをやっている、ではありません:これは危険でさえあるかもしれない
data2$Environment<-as.factor(data2$Environment<-ifelse(blabla))
、それには何のコメント、私はこのようなネストされた割り当てをやったことがありません。私のコメントは:data2$Environment<-as.factor(ifelse(blabla))
だけではないのですか?それ以外では、3つの条件を処理するネストされたifelseは正しいです。ただ、比較のために、私の例では、同等のは次のようになります。したがって
> ifelse(iris$Species %in% c('virginica'),'vi', ifelse(iris$Species %in% c('setosa'),'se', 've'))
[1] "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se"
[21] "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "se"
[41] "se" "se" "se" "se" "se" "se" "se" "se" "se" "se" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve"
[61] "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve"
[81] "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve" "ve"
[101] "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi"
[121] "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi"
[141] "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi" "vi"
あなただけの%で%にあなたの二重の等号を変更する場合は、良いことがあります。
最小限の再現可能な例を共有してください。私たちは 'data2'を持っていないのであなたの問題を再現することはできません。 – josliber