R:使用 R 更新 SQL table 循环
R: Updating SQL table loop using R
我在 R 上使用 RODBC 包,它允许我使用 R 连接到 SQL。
作为我的问题的示例,我在 SQL 中有一个 table [Sales],其中包含 3 列(Alpha、Beta、BetaDistribution)。
1.50,77,x
2.99,53,x
4.50,122,x
请注意,第 3 列 (BetaDistribution) 未填充,需要使用统计 R 函数填充。
我已将 table 分配给变量 SELECT
select <- sql查询(dbhandle, 'select * from dbo.sales')
如何 运行 循环更新我的 sql table 以便使用计算的 Beta 分布更新 BetaDistribution 列 - pbeta(alpha,beta)
像这样。基本上你做一个临时 table 然后更新现有的 table。您很有可能需要调整该更新语句,因为显然我无法对其进行测试。
select$BetaDistribution<-yourfunc(x,y)
sqlSave(dbhandle, select, tablename="dbo.salestemp", rownames=FALSE,varTypes=list(Alpha="decimal(10,10)", Beta="decimal(10,10)", BetaDistribution="decimal(10,10)"))
sqlQuery(dbhandle, "update dbo.sales
set sales.BetaDistribution=salestemp.BetaDistribution
from dbo.sales
inner join
salestemp
on
sales.Alpha=salestemp.Alpha and
sales.Beta=salestemp.Beta")
sqlQuery(dbhandle, "drop table salestemp")
我在 R 上使用 RODBC 包,它允许我使用 R 连接到 SQL。
作为我的问题的示例,我在 SQL 中有一个 table [Sales],其中包含 3 列(Alpha、Beta、BetaDistribution)。
1.50,77,x
2.99,53,x
4.50,122,x
请注意,第 3 列 (BetaDistribution) 未填充,需要使用统计 R 函数填充。
我已将 table 分配给变量 SELECT
select <- sql查询(dbhandle, 'select * from dbo.sales')
如何 运行 循环更新我的 sql table 以便使用计算的 Beta 分布更新 BetaDistribution 列 - pbeta(alpha,beta)
像这样。基本上你做一个临时 table 然后更新现有的 table。您很有可能需要调整该更新语句,因为显然我无法对其进行测试。
select$BetaDistribution<-yourfunc(x,y)
sqlSave(dbhandle, select, tablename="dbo.salestemp", rownames=FALSE,varTypes=list(Alpha="decimal(10,10)", Beta="decimal(10,10)", BetaDistribution="decimal(10,10)"))
sqlQuery(dbhandle, "update dbo.sales
set sales.BetaDistribution=salestemp.BetaDistribution
from dbo.sales
inner join
salestemp
on
sales.Alpha=salestemp.Alpha and
sales.Beta=salestemp.Beta")
sqlQuery(dbhandle, "drop table salestemp")