1. ホーム
  2. r

データフレームの2列を名前付きベクトルに変換する

2023-08-19 01:25:21

質問

複数行2列の data.frame を名前付き文字ベクトルに変換する必要があります。 私の data.frame は次のようなものになるでしょう。

dd = data.frame(crit = c("a","b","c","d"), 
                name = c("Alpha", "Beta", "Caesar", "Doris")
                )

と、実際に必要なものは、こうなります。

whatiwant = c("a" = "Alpha",
              "b" = "Beta",
              "c" = "Caesar",
              "d" = "Doris")

どのように解決するのですか?

を使用します。 names 関数を使用します。

whatyouwant <- as.character(dd$name)
names(whatyouwant) <- dd$crit

as.character が必要なのは data.frameread.table は、文字をデフォルト設定の要素に変換します。

一行で済ませたいなら

whatyouwant <- setNames(as.character(dd$name), dd$crit)