如何将包含 % 符号的 R 代码发送到 IBM dashDB?
How can I send R code containing the % symbol to IBM dashDB?
我正在尝试根据 tutorial.
向 IBM dashDB REST 端点发送并执行 R 脚本
一切都很好,但是当我使用下面的代码时
timestamp=as.numeric(strptime(df$TIMESTAMP, \"%Y-%m-%d %H:%M:%S.000000\"));
dashDB REST 服务简单 returns:
An internal error has occurred. Please check the URL and try again.
在 dashDB 服务中使用 R web 控制台脚本运行良好。我已将整个脚本附加到此消息的末尾。
有什么想法吗?
library(ibmdbR)
mycon <- idaConnect("BLUDB", "", "")
idaInit(mycon)
df <- as.data.frame(ida.data.frame('"DASH110683"."TEMPERATURE"')[ ,c('NAME', 'TEMPERATURE', 'TIMESTAMP')])
pattern="%Y-%m-%d %H:%M:%S.000000"
timestamp=as.numeric(strptime(df$TIMESTAMP, pattern))
maxTimestamp=max(timestamp)
cutOffTimestamp=maxTimestamp - 10
idx = which(timestamp>cutOffTimestamp)
workingSubset=df[idx,]
devideIds=unique(workingSubset$NAME)
scores = 1:length(devideIds)
for (i in 1:length(devideIds)) {
idx = which(workingSubset$NAME==devideIds[i])
df=workingSubset[idx,]
values=as.numeric(df$TEMPERATURE)
#scores[i]=(sqrt((globalMean- mean(values))^2) +sqrt((globalSD- sd(values))^2))/2
#scores[i]=abs(globalSD- sd(values))
scores[i]=sd(values)
}
if (max(scores)>1) {
devideIdOutlier=devideIds[scores==max(scores)]
} else {
devideIdOutlier=0;
}
罗密欧,教程中描述的 API 更像是一个初步的。事实上,我们刚刚推出了新的战略版,它也提供了更多选择。您现在可以通过请求参数传入 R 脚本,也可以引用存储在 dashDB 中的 R 脚本(例如,通过使用内置 RStudio 并保存脚本)。
https://developer.ibm.com/clouddataservices/wp-content/themes/projectnext-clouddata/dashDB/
我正在尝试根据 tutorial.
向 IBM dashDB REST 端点发送并执行 R 脚本一切都很好,但是当我使用下面的代码时
timestamp=as.numeric(strptime(df$TIMESTAMP, \"%Y-%m-%d %H:%M:%S.000000\"));
dashDB REST 服务简单 returns:
An internal error has occurred. Please check the URL and try again.
在 dashDB 服务中使用 R web 控制台脚本运行良好。我已将整个脚本附加到此消息的末尾。
有什么想法吗?
library(ibmdbR)
mycon <- idaConnect("BLUDB", "", "")
idaInit(mycon)
df <- as.data.frame(ida.data.frame('"DASH110683"."TEMPERATURE"')[ ,c('NAME', 'TEMPERATURE', 'TIMESTAMP')])
pattern="%Y-%m-%d %H:%M:%S.000000"
timestamp=as.numeric(strptime(df$TIMESTAMP, pattern))
maxTimestamp=max(timestamp)
cutOffTimestamp=maxTimestamp - 10
idx = which(timestamp>cutOffTimestamp)
workingSubset=df[idx,]
devideIds=unique(workingSubset$NAME)
scores = 1:length(devideIds)
for (i in 1:length(devideIds)) {
idx = which(workingSubset$NAME==devideIds[i])
df=workingSubset[idx,]
values=as.numeric(df$TEMPERATURE)
#scores[i]=(sqrt((globalMean- mean(values))^2) +sqrt((globalSD- sd(values))^2))/2
#scores[i]=abs(globalSD- sd(values))
scores[i]=sd(values)
}
if (max(scores)>1) {
devideIdOutlier=devideIds[scores==max(scores)]
} else {
devideIdOutlier=0;
}
罗密欧,教程中描述的 API 更像是一个初步的。事实上,我们刚刚推出了新的战略版,它也提供了更多选择。您现在可以通过请求参数传入 R 脚本,也可以引用存储在 dashDB 中的 R 脚本(例如,通过使用内置 RStudio 并保存脚本)。
https://developer.ibm.com/clouddataservices/wp-content/themes/projectnext-clouddata/dashDB/