引用嵌套列表中的未引用成员

时间:2010-09-08 14:49:41

标签: r list r-factor quoting

使用R,我生成一个包含某些不带引号的元素的列表。请在底部看到 - 它是无效的javascript代码。

R代码(不起作用)

outq <- lapply (out, function (el){
 el <- if( is.factor(el$ann) ){ 
 el$ann <- apply(el$ann, 1, function(e){ e <- paste('"', e, '"', sep="") })
 }   
}) 

在R语言中,我如何引用list$x$ann因素的成员?

当我尝试解析这个JSON时,json2.js失败了。

示例数据(无效的JSON)

results = JSON.parse(
{
 "result": {
 "tot": {
 "molal": [ 0.00071243, 0.00071243,      4,      4 ],
   "ann": [ , , ,  ] 
},
   "desc": {
 "val": [ 8.3486,      4, 0.8531, 4.0025, 0.99999, 0.00072541, 0.00071243,    100, -1.2983e-05, -0.00016223,     17, 111.02, 55.511 ],
   "ann": [ Charge balance, Adjusted to redox eq, , , , , , , , , , ,  ] 
},
   "species": {
 "molal": [ 55.508, 0.00029101, 2.3071e-09, 0.00042017, 0.00028731, 4.4532e-06, 4.9292e-07, 0.00069149, 1.0274e-05, 6.2142e-06, 4.9139e-12,      4,      0, 4.1166e-27,      4, 8.5144e-21 ],
   "act": [ 0.8531, 0.00010921, 4.4812e-09, 1.4857e-06, 7.7889e-05, 4.4532e-06, 9.6777e-07, 0.00024834, 3.3916e-06, 0.00028204, 4.9139e-12, 2.2702,      0, 4.1166e-27, 3.7925, 1.8453e-20 ] 
},
   "master": {
 "molal": [ 0.00071243, 0.00071243,      4, 8.2332e-27,      4, 1.7029e-20 ] 
},
   "pphases": {
 "moles": 9.9993,
   "delta": -0.00071243 
},
   "ListInfo": {
 "n": 1,
   "format": true 
} 
} 
}
);

2 个答案:

答案 0 :(得分:1)

你有没有理由不能使用RSON的RJSON / RJSONIO包?

答案 1 :(得分:-2)

我使用此R代码向前推进了一步:

outq <- lapply (out, function (el){el <- if( is.factor(el$ann) ){ el$ann <- lapply(el$ann, function(e){   e <- paste('"', e, '"', sep="") })} else {el}})