所以这是一些通用数据.我目前使用metafor包和par()函数来并排绘制这些图.但是,我想理想地摆脱第二个图中的研究列和两个图中的日志RR估计.我希望两个森林地块也能更紧密地联系在一起.很抱歉以前没有提供数据 - 我是新来的.
library(metafor)
par(mfrow=c(1,2))
### load BCG vaccine data
data(dat.bcg)
### calculate log relative risks and corresponding sampling variances
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
### default forest plot of the observed log relative risks
forest(dat$yi, dat$vi)
### default forest plot of the observed log relative risks for second plot
forest(dat$yi, dat$vi)
Run Code Online (Sandbox Code Playgroud)
===============================
有谁知道如何在r中制作一个并排的森林情节?我想马上两个森林的地块对左侧的子组的名称,然后在右边(对方旁边)有点像这个http://www.nature.com/ng/journal/v43/n8/images_article/ng .882-F1.jpg 但更简单.
我已经尝试了par()metafor包的功能,但它不起作用.
我是 ggplot 的新手。我试图了解如何使用 ggplot。我正在阅读 Wickham 的书,但仍在努力思考如何使用aes()函数。
这两个实现之间有什么区别aes():
library(ggplot2)
ggplot(mpg, aes(displ, hwy, colour = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
theme(legend.position = "none")
Run Code Online (Sandbox Code Playgroud)
和
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(colour = class)) +
geom_smooth(method = "lm", se = FALSE) +
theme(legend.position = "none")
Run Code Online (Sandbox Code Playgroud)
他们都打印出明显不同的图表。有什么帮助吗?我真的被困住了。
我有一个闪亮的应用程序,可以在DT表中显示数据框数据。在应用程序中,我有一个按钮,单击该按钮后,它将删除所选的行。第一次选择行并单击删除按钮时,它会起作用,但是再次单击后,错误的行将被删除,并且先前删除的行会重新出现。我假设这是因为它在我调用时从csv重新加载数据帧DT::renderDataTable()。
从数据框中删除选定的行后,如何重新呈现表?
我想在特定列中的特定值第一次出现之前过滤以删除所有行。例如,在下面的数据框中,我想删除第一次bob出现在列中之前的所有行a。请注意,bob第二次重复的值- 我只想在第一次bob出现之前删除行。
(dat<-data.frame(a= c("pete", "mike", "bob", "bart", "bob"), b=c(1,2,3,4,5), c=c("home", "away", "home", "away", "gone")))
a b c
1 pete 1 home
2 mike 2 away
3 bob 3 home
4 bart 4 away
5 bob 5 gone
Run Code Online (Sandbox Code Playgroud)
我希望生成的数据框如下所示:
a b c
1 bob 3 home
2 bart 4 away
3 bob 5 gone
Run Code Online (Sandbox Code Playgroud) 如何使用 R 选择指定列之后的所有列(最好仅使用 dplyr,但欢迎使用非 dplyr 解决方案)。例如,在数据框中mtcars,我想抓取 后面的所有vs列am gear carb。但我想要一个函数来完成此任务,其中我只需提供选择的列,并且返回的数据帧仅包含指定列之后的那些列。我想不出一种方法来实现这一目标,让事情继续下去。
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 …Run Code Online (Sandbox Code Playgroud) 当我点击Leaflet多边形时,我想让tabPanel在Shiny中更改.我有几个关于如何做到这一点的想法,但我找不到实现它们所需的信息.我在tabPanel中有传单,但是我想在单击多边形时切换到另一个选项卡.
leaflet(llmap) %>%
addTiles() %>%
addPolygons(stroke = F,
fillOpacity = .8,
smoothFactor = .5,
color=~pal(x),
popup = pop)
Run Code Online (Sandbox Code Playgroud)
我想过制作popup=updateTabsetPanel(session="New Tab"),但那不起作用.我的另一个想法是随时调用updateTabsetPanel(session="New Tab")用户点击一个新的多边形,但我不知道我需要返回什么事件让它知道点击了一个新的多边形,或者即使弹出一个新的弹出窗口.有谁知道这个?
有没有人想出如何sp_execute_external_script在SQL Management Studio结果窗口或消息窗口或弹出窗口中使用返回绘图的位置渲染绘图?我能够将一个绘图输出到文件系统,但这并不理想.
下面是我如何得到输出到文件系统的图.
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N' trellis.device(device="png", filename="c:/output/HistPlot.png");
myHist=histogram(~col1, data=InputDataSet);
print(myHist)'
, @input_data_1 = N'SELECT col1, col2 from ds.dbo.[sample]'
Run Code Online (Sandbox Code Playgroud) 我知道关于正则表达式的堆栈溢出有很多问题但我无法通过我见过的可用帮助来完成这一个简单的任务.这是我的数据:
a<-c("Los Angeles, CA","New York, NY", "San Jose, CA")
b<-c("c(34.0522, 118.2437)","c(40.7128, 74.0059)","c(37.3382, 121.8863)")
df<-data.frame(a,b)
df
a b
1 Los Angeles, CA c(34.0522, 118.2437)
2 New York, NY c(40.7128, 74.0059)
3 San Jose, CA c(37.3382, 121.8863)
Run Code Online (Sandbox Code Playgroud)
我想删除除数字和句点之外的所有内容(即删除"c",")"和"(".这是我到目前为止所尝试的内容:
str_replace(df$b,"[^0-9.]","" )
[1] "(34.0522, 118.2437)" "(40.7128, 74.0059)" "(37.3382, 121.8863)"
str_replace(df$b,"[^\\d\\)]+","" )
[1] "34.0522, 118.2437)" "40.7128, 74.0059)" "37.3382, 121.8863)"
Run Code Online (Sandbox Code Playgroud)
不知道剩下要尝试什么.我想最终得到以下结论:
[1] "34.0522, 118.2437" "40.7128, 74.0059" "37.3382, 121.8863"
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在学习python,我已经实现了一个快速排序算法(种类).我知道python的sort()方法会更快,但我想知道多少,所以我用timeit模块进行比较.
我为该sort()方法创建了一个"包装器"函数,因此它使用与我的实现相同的语法(并停止进行就地排序)并调用timeit.repeat(3, 2000)这两个函数.
以下是我的功能结果:
[0.00019502639770507812, 0.00037097930908203125, 0.00013303756713867188]
Run Code Online (Sandbox Code Playgroud)
而对于python的sort():
[0.0001671314239501953, 0.0001678466796875, 0.00016808509826660156]
Run Code Online (Sandbox Code Playgroud)
如您所见,python的算法执行时间比我自己的执行时间更加一致.有谁知道为什么?
码:
import timeit
import random
def quick(lst):
if not lst:
return []
else:
first, rest = lst[0], lst[1:]
great = []
less = []
for item in rest:
great.append(item) if item >= first else less.append(item)
return quick(less) + [first] + quick(great)
def sort(lst):
lst.sort()
return lst
x = [random.randint(1, 10000) for i in xrange(1, 1000)]
quick_t = timeit.Timer("'quick(x)'")
print quick_t.repeat(3, …Run Code Online (Sandbox Code Playgroud) 我想在不依赖 rgdal 的情况下从 R 中的网络解压缩并读取形状文件。我发现该包的read.shp功能fastshp显然可以在没有在环境中安装 rgdal 的情况下完成此操作,但是,我在实现时遇到了麻烦。
我想,可以解压,然后在形状文件类似于什么在此发现的阅读功能SO职位,但对于read.shp功能。我尝试了以下但无济于事:
dlshape=function(shploc, format) {
temp=tempfile()
download.file(shploc, temp)
unzip(temp)
shp.data <- sapply(".", function(f) {
f <- file.path(temp, f)
return(read.shp(".", format))
})
}
shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip', 'polygon')
Error in read.shp(".", format) : unused argument (format)
Run Code Online (Sandbox Code Playgroud)
我还尝试了以下方法:
dlshape=function(shploc) {
temp=tempfile()
download.file(shploc, temp)
unzip(temp)
shp.data <- sapply(".", function(f) {
f <- file.path(temp, f)
return(read.shp("."))
})
}
shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip')
Error in file(shp.name, "rb") : cannot open the connection
In addition: Warning messages:
1: …Run Code Online (Sandbox Code Playgroud)