r - powerBI中的自定义R视觉超时
问题描述
我正在尝试在 PowerBI 中运行 ar 可视化。它在 R 中运行良好,但由于某种原因,它永远不会在 PowerBI 中完成加载(没有错误消息,只是 5 分钟后的超时屏幕)。经过一些试验,我注意到如果我从创建和保存小部件部分删除一个绘图覆盖,它将加载正常。不管是哪一个。
我是 R 和 powerBi 的新手,因此非常感谢任何有关解决方法的建议。
source('./r_files/flatten_HTML.r')
############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly");
####################################################
################### Actual code ####################
# plot histogram of risk density using monte carlo output
x = Values[,1]; #grab first column of dataframe as dataframe
# create CDF function and overlay onto histogram
cdf = ecdf(x);
# calculate mean cordinates to draw a mean line for selected data
meancordinates = function(xdata) {
v = sum(xdata)
meanxcord = v/length(xdata)
meancord = list(meanxcord = meanxcord, meanycord = cdf(meanxcord))
return(meancord)
};
mean = meancordinates(x);
# calculate median cordinates to draw a median line for selected data
mediancordinates = function(xdata) {
medianxcord = median(xdata)
mediancord = list(medianxcord = medianxcord, medianycord = cdf(medianxcord))
return(mediancord)
};
median = mediancordinates(x)
# calculate the 80% cordinates to draw a 80% line for selected data
eightycordinates = function(xdata) {
eightyxcord = x[which(abs(cdf(xdata)-0.80) == min(abs(cdf(xdata)-0.80)))]
eightycord = list(eightyxcord = eightyxcord, eightyycord = cdf(eightyxcord))
return(eightycord);
}
eighty = eightycordinates(x);
####################################################
############# Create and save widget ###############
p = plot_ly(x = x, type = "histogram", histnorm = "probability density", name = "Histogram")
p = p %>% add_segments(
x = median$medianxcord, xend = median$medianxcord,
y = 0, yend = median$medianycord,
name = "Median")
p = p %>% add_segments(
x = eighty$eightyxcord, xend = eighty$eightyxcord,
y = 0, yend = eighty$eightyycord,
name = "80%")
p = p %>% add_segments(
x = mean$meanxcord, xend = mean$meanxcord,
y = 0, yend = mean$meanycord,
name = "Mean")
p = p %>% add_lines(x = x, y = cdf(x), name = "CDF");
internalSaveWidget(p, 'out.html');
####################################################
解决方案
推荐阅读
- javascript - GSAP - reverse() 不返回动画
- mocking - Jest Mock IntersectionObserver
- docker - 从 Docker GitHub Action 将二进制文件添加到 PATH 以供以后的工作流程步骤使用
- javascript - 如何通过状态传递数组项
- elasticsearch - 从聚合结果中求和 doc_count - 错误“buckets_path 不存在用于聚合
- ios - iOS Game Center GKScore 上下文,如何编码信息?
- google-apps-script - Google Sheet GAS中过滤方法的字符串部分匹配
- r - 通过带有 facet wrap 的特定变量重新排序 geom_bar
- promise - 方法链有自我意识吗?
- python - 从 python 程序中保存多个输入的文件读取问题