gpt4 book ai didi

R: eval(parse(...)) 通常不是最优的

转载 作者:行者123 更新时间:2023-12-03 00:47:59 24 4
gpt4 key购买 nike

require('fortunes')
fortune('106')
Personally I have never regretted trying not to underestimate my own future stupidity.
-- Greg Snow (explaining why eval(parse(...)) is often suboptimal, answering a question triggered
by the infamous fortune(106))
R-help (January 2007)

那么,如果eval(parse(...))不是最优的,还有什么方法可以实现这一目标?

我正在使用 RCurl 从网站调用一些数据,在 rjson 包中使用 fromJSON() 后得到的是列表中的列表。列表的一部分具有订单号的名称,该名称将根据订单而变化。该列表看起来像:

$orders
$orders$'5810584'
$orders$'5810584'$quantity
[1] 10

$orders$'5810584'$price
[1] 15848

我想提取$orders$'5810584'$price中的值

假设该列表位于对象 dat 中。我使用 eval(parse(...)) 提取此内容的做法是:

or_ID <- names(dat$orders) # get the order ID number
or_ID
"5810584"
sell_price <- eval(parse(text=paste('dat$',"orders$","'", or_ID, "'", "$price", sep="")))
sell_price
15848

执行此操作的更优化方法是什么?

最佳答案

实际上,该列表可能看起来有点不同。 “$”约定有些误导。试试这个:

dat[["orders"]][[ or_ID ]][["price"]]

“$”不会计算其参数,但“[[”会计算,因此or_ID将变成“5810584”。

关于R: eval(parse(...)) 通常不是最优的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com