1
からネストされたリストを返すには、そのように私が望む何R - 私はdata.table内のデータを持っているグループ化されたデータ
#Load in example data
library(jsonlite)
library(data.table)
json<-'[{"id":"a","group":"foo","value":2.7408},{"id":"b","group":"foo","value":6.5785},{"id":"c","group":"foo","value":5.4263},{"id":"d","group":"bar","value":5.2845},{"id":"e","group":"bar","value":4.1038},{"id":"f","group":"bar","value":3.7421},{"id":"g","group":"bar","value":2.7618},{"id":"h","group":"bar","value":3.7211},{"id":"i","group":"baz","value":4.1616},{"id":"j","group":"baz","value":3.8822}]'
example<-data.table(fromJSON(json))
example
id group value
1: a foo 2.7408
2: b foo 6.5785
3: c foo 5.4263
4: d bar 5.2845
5: e bar 4.1038
6: f bar 3.7421
7: g bar 2.7618
8: h bar 3.7211
9: i baz 4.1616
10: j baz 3.8822
、グループごとにIDのネストされたリストを取得することです。私は、グループ名から名付けられた内部のリストを持っていたいと思います。おそらく例が明快さを提供します:
# This is what I would like to accomplish programmatically.
# Is there a data.table way to do this? How about plyr?
# It seems like a pretty straightforward task, so I imagine
# there is a method for this which I don't know about.
foo<-example$id[example$group=='foo']
bar<-example$id[example$group=='bar']
baz<-example$id[example$group=='baz']
list(foo=foo,bar=bar,baz=baz)
$foo
[1] "a" "b" "c"
$bar
[1] "d" "e" "f" "g" "h"
$baz
[1] "i" "j"
ありがとうございます事前にお勧めします。
'split(example $ id、example $ group)'を試してください。 – nicola
完璧!ありがとうございました。私は明らかにまだ学ぶ多くの機能を持っています。 – Tsaari