使用R来计算持有JSON列表的列时的比率?

时间:2018-04-15 12:35:37

标签: r json dataframe dplyr

我有一个包含2列的数据框,其中包含JSON,如: 我有2列,每列中的每一行都是JSON。

df$col1[1] <- "[14,7,5,3,4,0,1,7,2,3,1,18,13,4,23,7,8,8,11,18,15,6,2,10,2,4,8,5,11,5,1,5,2,4,3,1,6,8,5,5,3,1,1,4,5,2,9,3,4,11,11,14,3,12,2,6,0,0,15,1,18,5,3,6,6,6]"

和一个标量列:

df$scalar <- 10, .... , 10

我想应用以下公式:

((fromJSON(df$col1) / scalar1) / (fromJSON(df$col2) / scalar2))

我做过这样的事情:

lapply(df$col1, function(i) {fromJSON(i)/scalar1}) / 
lapply(df$col2, function(i) {fromJSON(i)/scalar2}

还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

我们可以遍历以JSON格式应用fromJSON的列,然后使用scalarMapReduce分成两个{ {1}}

vector

使用Reduce(`/`, Map(`/`, lapply(df[c('col1', 'col2')], fromJSON), df[c('scalar1', 'scalar2')])) map的类似方法

purrr