Forum Discussion
paltus
7 years agoFrequent Visitor
R script visual not working in Service
Hi, I've created a R visual that load data and makes calendar. Everything is working fine in desktop. But in service i get an error: Error in as.POSIXlt.default(x, tz = tz) : do not know how t...
- Anonymous7 years ago
Hi paltus ,
According to error message, it sounds like data format not recognized correctly on power bi service. You can refer to following link to use 'as.Date' or 'as.POSIXlt' functions to convert these date values :
library(ggplot2) dfr <- dataset dfr$day <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%A"),levels=c("Sunday","Saturday","Friday","Thursday","Wednesday","Tuesday","Monday")) dfr$week <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%V")) dfr$month <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%B"),levels=c("January","February","March","April","May","June","July","August","September","October","November","December")) dfr$ddate <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%d")) # plot p <- ggplot(dfr,aes(x=week,y=day))+ geom_text(aes(label=paste(ddate,sep =" ")))+ scale_fill_manual(values=c("#8dd3c7","#ffffb3","#fb8072","#d3d3d3"))+ facet_grid(~month,scales="free",space="free")+ labs(x="Week",y="")+ theme_bw(base_size=12)+ theme(legend.title=element_blank(), panel.grid=element_blank(), panel.border=element_blank(), axis.ticks=element_blank(), strip.background=element_blank(), legend.position="top", legend.justification="right", legend.direction="horizontal", legend.key.size=unit(0.4,"cm"), legend.spacing.x=unit(0.3,"cm")) plot(p)Regards,
Xiaoxin Sheng
paltus
7 years agoFrequent Visitor
Hi, Anonymous
Thank You for Your advice.
Everything now works fine, when i use only dates, but when i try to add measure i get an error.
dataset example:
Data CR
2019-01-01 50000
2019-01-03 60000
2019-01-02 40000
2019-01-04 30000
2019-01-05 21000
In service i get only Data, not Data + CR
If i write geom_text like this:
geom_text(aes(label=paste(dfr$'CR')
Then i get error: Aesthetics must be either length 1 or the same as the data (13): label, x, y
Then i get error: Aesthetics must be either length 1 or the same as the data (13): label, x, y
# dataset <- data.frame(Data, CR)
# dataset <- unique(dataset)
Sys.setlocale("LC_TIME", "English")
library(ggplot2)
dfr <- dataset
dfr$day <- factor(strftime(as.POSIXlt(dfr$Data,format = "%Y-%m-%d"),format="%A"),levels=c("Sunday","Saturday","Friday","Thursday","Wednesday","Tuesday","Monday"))
dfr$week <- factor(strftime(as.POSIXlt(dfr$Data,format = "%Y-%m-%d"),format="%V"))
dfr$month <- factor(strftime(as.POSIXlt(dfr$Data,format = "%Y-%m-%d"),format="%B"),levels=c("January","February","March","April","May","June","July","August","September","October","November","December"))
dfr$ddate <- factor(strftime(as.POSIXlt(dfr$Data,format = "%Y-%m-%d"),format="%d"))
dfr$comment <- "Available"
dfr$comment <- factor(dfr$comment,levels=c("Available","Limited","Not available","Weekend"))
# plot
p <- ggplot(dfr,aes(x=week,y=day))+
geom_tile(aes(fill=comment))+
geom_text(aes(label=paste(ddate,dfr$'CR',sep ="
")))+
scale_fill_manual(values=c("#8dd3c7","#ffffb3","#fb8072","#d3d3d3"))+
facet_grid(~month,scales="free",space="free")+
labs(x="Week",y="")+
theme_bw(base_size=12)+
theme(legend.title=element_blank(),
panel.grid=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
strip.background=element_blank(),
legend.position="top",
legend.justification="right",
legend.direction="horizontal",
legend.key.size=unit(0.4,"cm"),
legend.spacing.x=unit(0.3,"cm"))
plot(p)
Can You help me with this problem,please?
Thank You
Anonymous
7 years agoNot applicable
HI paltus ,
I'd like to suggest you to refer to following link about geom_lable function:
Regards,
Xiaoxin Sheng