1. ホーム
  2. r

[解決済み] データフレームの行をベクトルに変換する

2022-06-05 20:31:12

質問

データフレームの行からベクトルを作成したい。しかし、私は行と列の名前を持ちたくありません。私はいくつかのことを試してみました...しかし、運がありませんでした。

これは私のデータフレームです。

> df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3))
> df
  a b   c
1 1 2 2.6
2 2 6 8.2
3 4 2 7.5
4 2 1 3.0

試してみました。

> newV <- as.vector(df[1,])
> newV
  a b   c
1 1 2 2.6

でも、本当はこんな感じのものがいいんです。

> newV <- c( 1,2,2.6)
> newV
[1] 1.0 2.0 2.6

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

データフレームから1行を取り出すと、1行のデータフレームが得られます。 これを数値ベクトルに変換します。

as.numeric(df[1,])

ローランドが提案するように unlist(df[1,]) は、1 行のデータフレームを名前を落とさずに数値ベクトルに変換します。したがって unname(unlist(df[1,])) は同じ結果を得るための、もう一つの、少し明示的な方法です。

以下の @Josh のコメントのように、完全な数値ではない(アルファベット、因子、混合...)データフレームがある場合、次のようなものが必要です。 as.character(df[1,]) が必要です。