2017-11-02 3 views
0

iは、以下の行列変形(文字への変換)

data=structure(list(Metric = c("x", "y"), Result1 = c(9, 
18), Result2 = c(7, 14 
), Delta = c(-170, -401)), .Names = c("Metric", 
"Result_1", "Result_2", "Delta"), row.names = c(NA, 
-2L), class = "data.frame") 

有するIは1行でそれを変換するために、私は、次(as.vector(t(data)))を試み列

の数を倍増したいと思います。しかし、私はそれを行うと、すべての文字と私は緩やかなデータ情報をtransofrms

何か助けてください?

+0

ベクターは、複数のクラスを含むことができません。たぶんあなたは 'unlist(data)'を探しているだけでしょうか? – Sotos

+0

このunlist(data)も私のデータを文字に変換します – richpiana

+0

ああ、それほど...私はあなたがベクトルを望んだと思った。 1行だけのデータフレームを意味します – Sotos

答えて

1

データフレームを分割し、dplyrパッケージからbind_colsを使用することができます。私はこれがあなたの予想される出力であるかどうかはわかりませんが、例は提供していません。

dplyr::bind_cols(split(data, data$Metric)) 

    Metric Result_1 Result_2 Delta Metric1 Result_11 Result_21 Delta1 
1  x  9  7 -170  y  18  14 -401 
1
基地Rで

dd=stack(data) 
A=dd$values 
names(A)=dd$ind 
data.frame(as.list(A)) 

     Metric Metric.1 Result_1 Result_1.1 Result_2 Result_2.1 Delta Delta.1 
1  x  y  9   18  7   14 -170 -401 
関連する問題