R:使用R更新SQL表循环

R:使用R更新SQL表循环,r,rodbc,R,Rodbc,我在R上使用RODBC包,它允许我使用R连接到SQL 作为我问题的一个例子,我在SQL中有一个表[Sales],有3列(Alpha、Beta、BetaDistribution) 1.50,77,x 2.99,53,x 4.50122,x 请注意,第3列(BetaDistribution)未填充,需要使用统计R函数填充 我已将表格分配给变量SELECT 选择类似这样的内容。基本上是创建一个临时表,然后更新现有表。有一个合理的机会需要调整update语句,因为我显然无法测试它 select$Bet

我在R上使用RODBC包,它允许我使用R连接到SQL

作为我问题的一个例子,我在SQL中有一个表[Sales],有3列(Alpha、Beta、BetaDistribution)

1.50,77,x

2.99,53,x

4.50122,x

请注意,第3列(BetaDistribution)未填充,需要使用统计R函数填充


我已将表格分配给变量SELECT


选择类似这样的内容。基本上是创建一个临时表,然后更新现有表。有一个合理的机会需要调整update语句,因为我显然无法测试它

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")

select$betadistributationsanks…不过我只是简化了这个问题,以便能够以更简单的方式进行描述。可能不是最聪明的做法。我需要从sql中获取一个变量,并在R中应用beta分布。我想用sql表中每一行的beta分布结果更新sql表。您应该更新您的问题,以指定要用任意R函数的结果更新sql表而不是乘法。还包括您正在使用的数据库,因为答案将取决于此。@SIMONHART这是否满足您的需要?如果是这样,你会考虑接受这个答案吗?的确如此…非常感谢你的支持。是否接受?您列出了四列,但将收入列为第三列,而不是第四列。