4

データフレームをリストに変換したい。データフレームの例を次に示します。

colname   name    age    address
1         John    22     Singapore
2         James   44     India
3         Jessie  21     Australia 

次のようなリストに変換したいと思います。

Name : John Age: 22 Address: Singapore
Name : James Age: 44 Address India
Name : Jessie Age: 21 Address: Australia.

したがって、基本的には、単一の R データ型で列名と行の対応する値の集計を取得したいと考えています。

as.list私にはうまくいきませんでした。

4

1 に答える 1

6

あなたは単に使用することができます:

 apply(X, 1, function(r) paste(names(X), r, sep=":", collapse=" "))

あなたはどこXですかdata.frame

出力の最初の列が必要ない場合は、適切な[, -1]と を[-1]それぞれ追加します。

apply(X[, -1], 1, function(r) paste(names(X)[-1], r, sep=":", collapse=" "))

[1] "name:John age:22 address:Singapore"  
[2] "name:James age:44 address:India"     
[3] "name:Jessie age:21 address:Australia"

ただし、これを JSON に変換することが目的の場合は、次のrjsonパッケージを使用できます。

library(rjson)
apply(X[,-1], 1, toJSON)

これにより、適切に引用された文字列が得られます。

cat( apply(X[,-1], 1, toJSON) )

{"name":"John","age":"22","address":"Singapore"} 
{"name":"James","age":"44","address":"India"}
{"name":"Jessie","age":"21","address":"Australia"}
于 2013-05-14T08:35:06.583 に答える