gpt4 book ai didi

mysql - r 从 mysql db 循环中获取数据

转载 作者:行者123 更新时间:2023-11-28 23:08:17 24 4
gpt4 key购买 nike

我成功地使用 r 从我的 mysql 数据库中获取数据:

library(RMySQL)
mydb = dbConnect(MySQL(), user='user', password='pass', dbname='fib', host='myhost')
rs = dbSendQuery(mydb, 'SELECT distinct(DATE(date)) as date, open,close FROM stocksng WHERE symbol = "FIB7F";')
data <- fetch(rs, n=-1)
dbHasCompleted(rs)

所以现在我有一个对象列表:

> print (typeof(data))
[1] "list"

每个元素都是一个元组(?),如日期(图表)、打开(长)、关闭(长)

好吧,现在我的问题是:我想获得收盘价 (x) 和第二天开盘价 (x+1) 之间的百分比差异向量,直到结束,但我无法正确访问该项目!

例子:((开盘)/收盘*100)-100)

我尝试:

for (item in data){
print (item[2])
}

以及所有可能的组合,例如:

for (item in data){
print (item[][2])
}

但无法访问正确的元素 :!有人可以帮忙吗?

最佳答案

在您的 MySQL 查询中,您遇到了比这更大的问题,因为您没有指定 ORDER BY 子句。考虑使用以下查询:

SELECT DISTINCT
DATE(date) AS date,
open,
close
FROM stocksng
WHERE
symbol = "FIB7F"
ORDER BY
date

这里我们按日期对结果集进行排序,这样就可以说出当前和下一次开盘或收盘。现在有了适当的查询,如果您想获得当前收盘价和第二天开盘价之间的百分位数差异,您可以尝试:

require(dplyr)
(lead(open, 1) / close*100) - 100

或者使用基础 R:

(open[2:(length(open)+1)] / close*100) - 100

关于mysql - r 从 mysql db 循环中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46589376/

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