始める無料で始める

purrr でデータを数値に変換する

sw_people データセットでは、Star Wars の一部のキャラクターの身長が不明になっています。キャラクターの出身惑星ごとに身長がどう異なるかを探索するには、R が身長と欠損値を正しく区別できるようにコードを書く必要があります。現在、欠損値は "unknown" として入力されていますが、NA にしたいところです。この演習では、map()ifelse() を組み合わせてこの問題を解決します。

この演習はコースの一部です

purrr で学ぶ関数型プログラミング入門

コースを見る

演習の手順

  • sw_people データセットを読み込みます。
  • sw_people に対して map を実行し、"height" を取り出します。
  • その出力に対してさらに map を実行し、要素が "unknown" の場合は NA に置き換え、それ以外は as.numeric() で数値に変換します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load sw_people data
data(___)

# Map over sw_people and pull out the height element
height_cm <- map(___, ___) %>%
  map(function(x){
    ifelse(___ == "unknown",NA,
    as.numeric(___))
})
コードを編集して実行