update!(factor, i, i + 10)中i是字符串,i+10就是一个字符串,不是一个字段,所以可改成:
update!(factor, i, factor[i] + 10)
或者
factor[i] = factor[i] + 10
或者
update!(factor, i, expr(sqlCol(i), +, 10))
我有一个因子表,想给表中某些行的所有因子列都加上一个数,demo如下:
factor=table(now() as tradeTime,`600009 as secID,1.0 as factor1,2.0 as factor2,3.0 as factor3,4.0 as factore4,5.0 as factor5) for(i in factor.columnNames()){ if(left(i,6)!="factor") continue update!(factor, i, i + 10) }
上述代码在DolphinDB database的GUI中执行会报错如下:
The data type of the new values does not match the data type of column factor1
我把10改成10.0也不行,请问是什么原因?
update!(factor, i, i + 10)中i是字符串,i+10就是一个字符串,不是一个字段,所以可改成:
update!(factor, i, factor[i] + 10)
或者
factor[i] = factor[i] + 10
或者
update!(factor, i, expr(sqlCol(i), +, 10))