1

我有一个看起来像这样的数据框(10000+ 行除外):

      V1         V2
  google 0.99702575
   gmail 0.02492131
    maps 0.02040844
motorola 0.02006636
    view 0.01679274

我需要使用 toJSON() 将其转换为 JSON 格式,但我首先需要将其转换为如下所示的列表:

$google
[1] 0.99702575

$gmail
[1] 0.2492131

$maps
[1] 0.02040844

$motorola
[1] 0.02006636

$view
[1] 0.01679274

那时我需要做的就是 toJSON(list)。最终结果应如下所示:

{"google":0.99702575,"gmail":0.02492131,"maps":0.02040844,"motorola":0.02006636,"view":0.01679274}

我该怎么做?

4

2 回答 2

4

使用创建列表并设置名称setNames

as.list(setNames(dat$V2,dat$V1))

使用您的数据,例如:

dat <- read.table(text='    V1         V2
  google 0.99702575
   gmail 0.02492131
    maps 0.02040844
motorola 0.02006636
    view 0.01679274',header=TRUE)
ll <- as.list(setNames(dat$V2,dat$V1))
library(rjson)
toJSON(ll)
于 2013-04-22T06:18:17.040 回答
3

创建一个列表,然后设置名称

V2 <- as.list(DF[['V2']])
names(V2) <- as.character(DF[['V1']])
# V2 is now the list you requested.
于 2013-04-22T06:14:34.960 回答