今天我发现了一些奇怪的事情。我写了一个函数,它应该返回一个数据帧和一个绘图,一个用ggplot2生成的图。
但是如果我运行该功能,则不会出现图或数据帧。
你知道这个问题,可以给我一个解决方案吗?
非常感谢!
赖
这是一个让我自己清楚的虚拟功能:
dummyfunct<-function(){
df <- data.frame(time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23))
ggplot(data=df, aes(x=time, y=total_bill)) + geom_bar(aes(fill=time))
return(df)
}
或
dummyfunct<-function(){
df <<- data.frame(time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23))
ggplot(data=df, aes(x=time, y=total_bill)) + geom_bar(aes(fill=time))
}
答案 0 :(得分:9)
我会回答,但我知道这是一个重复的问题,可能会被关闭:
使用ggplot,您需要在函数中明确使用print
,如下所示:
dummyfunct<-function(){
df <- data.frame(time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23))
x <- ggplot(data=df, aes(x=time, y=total_bill)) + geom_bar(aes(fill=time))
print(x)
return(df)
}
dummyfunct()