2016-09-16 3 views
1

はのは、私は私がしようとしてデータフレームにこれを変換したい配列配列をRのワイドデータフレームに変換するにはどうすればよいですか?

arr = as.array(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4)) 

あるとしましょう:

df = as.data.frame(arr) 

をしかし、これは私に= 1 NROWS = 7とncolsの持つデータフレームを与えます私はnrows = 1とncols = 7のデータフレームが必要です。私はt(df)をやってみましたが、それは行列を返します。

私は、これを行う簡単な方法があることを知っています...ありがとう!

+0

' as.data.frame(T(編曲)) ' – alistaire

答えて

3

方法について:

arr = array(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4), dim = c(1, 7)) 
as.data.frame(arr) 

# V1 V2 V3 V4 V5 V6 V7 
#1 1.1 0.5 3.2 4.3 5.5 6.3 0.4 

注意、arrayまたはmatrixを使用し、ないas.arrayas.matrix


alistaireは良い方法自動的にdimを変えていく

as.data.frame(t(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4))) 

# V1 V2 V3 V4 V5 V6 V7 
#1 1.1 0.5 3.2 4.3 5.5 6.3 0.4 

を述べました。

+0

の名前を持っているだろうの列名を変更することができますarr'は配列であり、ベクトルではありません。 'as.data.frame.list(arr)'は配列をワイドフォームに直接配置しますが、それはやや説明できません。 – alistaire

3

我々は7列のデータセットが必要な場合は@ZheyuanLiは、上記のカラム名の接頭辞として「X」を追加します述べたように、我々はvector

as.data.frame.list(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4)) 

as.data.frame.listを使用することができます。私たちは、col.names引数

as.data.frame.list(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4), col.names = paste0("V", 1:7)) 

それとも別のオプションは、 `vector要素

as.data.frame.list(setNames(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4), paste0("V", 1:7))) 
+1

このオプション----> as.data.frame.list(setNames(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4)、paste0( "V"、1:7))) ---私のために働いた!ありがとう! – strv7

+0

これ以降、データベースに古いバージョンのRがインストールされている可能性があります---> as.data.frame.list(c(1.1,0.5,3.2,4.3,5.5,6.3,0.4)、col.names = paste0( "V"、1:7))<-----列名を変更していない – strv7

+0

@ strv7私はR 3.3.0を使用しています – akrun

関連する問題