Rでベクトルの要素を別の集合の要素と比較する のバックアップ差分(No.5) - アールメカブ

アールメカブ


Rでベクトルの要素を別の集合の要素と比較する のバックアップ差分(No.5)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[Rの備忘録]]

たとえば,ある列に日本語文字列を含むデータフレームがあるとして,その列の要素がある条件集合のどれかにマッチしていれば 1,そうでなければ 0 を返すという処理を,for ではなく,apply 族を使って実行したいとする.

 # こんなデータフレーム
 unique(dat1$gobi) # 語尾を一通り見てみる
 [1] "ですか"       "ますか"       "んか"         "っすか"       "ていい"   ...

 dat1$not <- ifelse( dat1[dat1$gobi == "んか" | 
                           dat1$gobi == "くれん"| 
                           dat1$gobi == "くれない"| 
                           dat1$gobi == "くれへん"| 
                           dat1$gobi == "もらえへん", "ID"]), 
        1, 0)
あるいは
 for(i in 1:length(dat1$gobi)){
  dat1$not[i] <- ifelse(dat1$gobi[i] 
  %in% c("んか", "くれん", "くれない", "くれへん", "もらえへん"), 1, 0)
 }
 sum(dat1$not)
ただし,次はダメ

 dat1$not <- ifelse(any(dat1$gobi == "んか"|dat1$gobi == "くれん"|
                  dat1$gobi == "くれない"| dat1$gobi == "くれへん"|
                  dat1$gobi == "もらえへん"), 1,0)
 dat1$not <- ifelse(any(dat1$gobi 
    %in% c("くれん", "くれない", "くれへん", "もらえへん")), 1,0)
 sum(dat1$not)

//この場合,最初の五つのデータ1:5について,それぞれ条件の五つの要素一対一に比較し,データの6-10では,再び条件の頭の要素1:5 を一対一にべるということをやってしまう.つまり,条件の五つのベクトルを使いまわしてしまう.

さて,これを無理に?apply系関数を使ってやってみる?

#article
**mKUTYcfbQRmsfvfAl [#vb90cada]
>[[lbrzfwuar]] (2010-03-15 (月) 16:20:40)~
~
beXfqd  <a href="http://upzekanjroog.com/">upzekanjroog</a>, [url=http://xpmnjtavsbwu.com/]xpmnjtavsbwu[/url], [link=http://usvxlxomuyfx.com/]usvxlxomuyfx[/link], http://wyhwshszkjxo.com/~

//

#comment

**yIoaSVwbzo [#k584a415]
>[[mbpryjqov]] (2010-03-15 (月) 10:08:22)~
~
67HGm3  <a href="http://vkbrpifyyjhb.com/">vkbrpifyyjhb</a>, [url=http://dfskmipzeuij.com/]dfskmipzeuij[/url], [link=http://rqclhkiceupl.com/]rqclhkiceupl[/link], http://azkeswpilfos.com/~

//

#comment

**wRefJuQoCMBndZWFVQ [#u621ba40]
>[[vmjgll]] (2010-03-15 (月) 10:07:56)~
~
RvpsnJ  <a href="http://bosaxstlaqjm.com/">bosaxstlaqjm</a>, [url=http://dctskqchtymc.com/]dctskqchtymc[/url], [link=http://pczjumhomrrq.com/]pczjumhomrrq[/link], http://jhjjgbfxskbu.com/~

//

#comment

**FxAurFFGgsadsREbll [#scf74edd]
>[[ckznbu]] (2010-03-15 (月) 08:09:29)~
~
QxnVbZ  <a href="http://wepfezrcasuh.com/">wepfezrcasuh</a>, [url=http://vlgtsgtbonut.com/]vlgtsgtbonut[/url], [link=http://sbdxobbznsow.com/]sbdxobbznsow[/link], http://dpghitqywfoh.com/~

//

#comment