最近我给出了一个非常简单的访问者,让我解释了存储过程和UDF之间最基本的区别.
我能够回忆起这里列出的一些差异,但他不接受任何一个作为BASIC差异.
根据他的回答是SP只编译一次,而UDF每次被调用时编译,导致UDF比存储过程慢得多.
现在我已经搜索了但是无法明确判断这个断言是否属实.请验证这一点.
在df下面,我想在每个方面重新排序从最高到最低的条形
我试过了
df <- df %>% tidyr::gather("var", "value", 2:4)
ggplot(df, aes (x = reorder(id, -value), y = value, fill = id))+
geom_bar(stat="identity")+facet_wrap(~var, ncol =3)
Run Code Online (Sandbox Code Playgroud)
它没有在每个方面从最高到最低排序.
我想出了另一种获得我想要的方法.我不得不一次绘制每个变量,然后使用组合所有绘图grid.arrange()
#I got this function from @eipi10's answer
#http://stackoverflow.com/questions/38637261/perfectly-align-several-plots/38640937#38640937
#Function to extract legend
# https://github.com/hadley/ggplot2/wiki/Share-a-legend-between-two-ggplot2-graphs
g_legend<-function(a.gplot) {
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)
}
p1 <- ggplot(df[df$var== "A", ], aes (x = reorder(id, -value), y = value, fill = id))+
geom_bar(stat="identity") …Run Code Online (Sandbox Code Playgroud) 我有两个数据集,它们的大小是500和1000.我想在一个图中绘制这两个数据集的密度.
我在谷歌做了一些搜索.
上面线程中的数据集是相同的
df <- data.frame(x = rnorm(1000, 0, 1), y = rnorm(1000, 0, 2), z = rnorm(1000, 2, 1.5))
Run Code Online (Sandbox Code Playgroud)
但是如果我有不同的数据大小,我应该首先规范化数据,以便比较数据集之间的密度.
是否有可能在ggplot2中制作具有不同数据大小的密度图?
我试图绘制一些预测数据和实际数据,类似于以下内容:
# Some random data
x <- seq(1: 10)
y_pred <- runif(10, min = -10, max = 10)
y_obs <- y_pred + rnorm(10)
# Faking a CI
Lo.95 <- y_pred - 1.96
Hi.95 <- y_pred + 1.96
my_df <- data.frame(x, y_pred, y_obs, Lo.95, Hi.95)
ggplot(my_df, aes(x = x, y = y_pred)) +
geom_line(aes(colour = "Forecasted Data"), size = 1.2) +
geom_point(aes(x = x, y = y_obs, colour = "Actual Data"), size = 3) +
geom_ribbon(aes(ymin=Lo.95, ymax=Hi.95, x=x, linetype = NA, …Run Code Online (Sandbox Code Playgroud) 在一个数据帧中,我有一个字符串列表,这些字符串彼此相似,但相差%。我想将这些通用字符串组合成一个在每个位置具有最通用字符的字符串。
数据框如下所示:
pattern Freq score rank
DT%E 37568 1138.4242 1
%TGE 37666 1018.0000 2
D%GE 37641 1017.3243 3
DTG% 37665 965.7692 4
%VGNE 34234 684.6800 5
SVGN% 34281 634.8333 6
SV%NE 34248 634.2222 7
SVG%E 34265 623.0000 8
%LGNE 41098 595.6232 9
SL%NE 41086 595.4493 10
SLGN% 41200 564.3836 11
SPT%AYNE 35082 539.7231 12
SP%AAYNE 35094 531.7273 13
SPTA%YNE 35061 531.2273 14
SPTAA%NE 35225 518.0147 15
SPTAAYN% 35144 516.8235 16
%PTAAYNE 35111 516.3382 17
S%TAAYNE 35100 516.1765 18
SPTAAY%E 35130 …Run Code Online (Sandbox Code Playgroud) 在计算比例(0 <x <1)时,我希望将结果x转换为最接近的1 / r形式,例如
x = 0.30转换为1/3
而对于
x = 0.29转换为1/4
我一直在尝试使用来自MASS的round()和fractions()的不同想法,但收效甚微。
您可能会用R中最简单的解决方案来解决这个问题?
是否有一个功能或命令,R这可以清除所有的global environment,就像clear在Matlab。rm如果我想删除它,我只知道需要我将每个变量名放入其中的函数。那真的不方便。
谢谢
我遇到以下问题.我需要绘制3个因子变量和1个数值变量.
我的数据集:
Site,Gall,Status,Count
Site1,absent,unhealthy,35
Site1,absent,healthy,1750
Site1,present,unhealthy,23
Site1,present,healthy,1146
Site2,absent,unhealthy,146
Site2,absent,healthy,1642
Site2,present,unhealthy,30
Site2,present,healthy,333
Run Code Online (Sandbox Code Playgroud)
我尝试过使用ggplot,但是它只允许我定义x,y和另外一个选项,所以我使用了fill = Gall.
我的代码看起来如下,我仍然缺少一个因子变量.
ggplot(dat, aes(Status, Count, fill = Gall)) +
geom_bar(stat = "identity", position = "dodge")
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
谢谢,非常感谢
我已经安装了“ microbenchmark”软件包,然后运行:library(microbenchmark)。
现在,我正在尝试读取一个csv文件,但收到错误消息:"fread" function not found。
setwd("C:/Data Analytics/R Assignments")
library(microbenchmark)
data <- fread("BigDiamonds.csv")
Error in
fread("BigDiamonds.csv") : could not find function "fread"
Run Code Online (Sandbox Code Playgroud)
我一直在使用R 3.4。这可能是问题吗?
我有一些像下面这样的字符串。我需要从字符串中提取颜色部分。
s1= 'color: red greenSize: 2 CountVerified Purchase'
s2= 'color: red greenVerified Purchase'
s3= 'color: red greenSize: 2 Count'
s4= 'color: red green'
Run Code Online (Sandbox Code Playgroud)
我str_replace像下面那样使用。它仅适用于s1和s3。不适合s2和s4。
str_replace(s1, 'color:\\s(.*)Size:\\s.*', '\\1')
Run Code Online (Sandbox Code Playgroud)
有谁知道我该如何从适用于所有4种情况的字符串中提取颜色?