Custom R визуальное время ожидания в PowerBI - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь запустить визуализацию в PowerBI. Он отлично работает в 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');
####################################################
...