科学の箱

科学・IT・登山の話題

R 機械学習

条件付きでレコードを取得する

投稿日:

データフレームでは条件付きでレコードを取得できる。

以下のようなフォーマットのデータフレームを考える

  • id
  • name
  • height
vector1 <- c(1, 2, 3, 4, 5)
vector2 <- c("yamada", "tanaka", "watanabe", "takahashi", "shimizu")
vector3 <- c(165, 180, 170, 168, 175)
heightdf = data.frame(id=vector1, name=vector2, height=vector3)

heightdfからレコード番号を指定してレコードを取得する。

> heightdf[2,]
  id   name height
2  2 tanaka    180

> heightdf

  id      name height 2  2    tanaka    180 3  3  watanabe    170 4  4 takahashi    168 > heightdf

  id      name height 1  1    yamada    165 3  3  watanabe    170 4  4 takahashi    168 5  5   shimizu    175 > c(2-4) [1] -2

heightdfから条件付でレコードを取得してみる。

> heightdf[vector1==2,]
  id   name height
2  2 tanaka    180
> vector1==2
[1] FALSE  TRUE FALSE FALSE FALSE

大事なことはboolean値はデータを抽出するデータフレームとはなんら関係ない。booleanのベクタを戻せばよいこと。

> vector4=c(TRUE, TRUE, FALSE, TRUE, FALSE, TRUE)
> heightdf[vector4,]   
id      name height1   
1    yamada    1652   
2    tanaka    1804   
4 takahashi    168
NA NA      <NA>     NA

メタ情報

inarticle



メタ情報

inarticle



-R, 機械学習
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

回帰と分類の違い

回帰と分類は両方とも”予測”問題である。予測とは従属変数から目的変数を明らかにする。この目的変数の種類により回帰と分類に分けられる。 回帰では連続した数値を予測する。例えば株価 …

no image

分散分析のcase study-2

分散分析のcase study-1からの続き。 さて前回まででとりあえずデータの簡単な分析を終えて、以下のような結論を得た。 図1よりR1とR2を比較するとスピードはR1のほうが常に上である。またS1 …

no image

データの縦・横展開

stack()関数を用いて横長のデータを縦長にできることを教わった。このようなデータ形式の変換はよくあることなのでもう少し調べてみた。 scoreデータは以下のような形式となっている。 > he …

no image

R – ElemStatLearn – Coutries

データの概要 国ごとの相違を距離で表しているクロス表 > dim(countries) [1] 12 12 > names(countries) NULL > str(countri …

no image

dataanalysis-002-week5

ANOVA – quantitative 分散分析、数学的に分散分析と重回帰分析は同じ 分散分析では3群以上の平均の差異を検定する ただし非線形では異なる http://oshiete.g …

2013年12月
« 11月   1月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

side bar top



アーカイブ

カテゴリー