小编geo*_*ory的帖子

向栅格图中添加文本标签

剧本:

library(raster)
places = data.frame(x=c(0.2, 0.7), y=c(0.2, 0.7), name=c('A','B'), stringsAsFactors=F)
plot(raster(volcano))
points(places$x, places$y, pch=16)
text(places$name, places$x, places$y-0.1)
Run Code Online (Sandbox Code Playgroud)

最后一行失败并显示消息:In xy.coords(x, y, recycle = TRUE) : NAs introduced by coercion。我认为这是由于混合图形库造成的,但text光栅中的函数似乎仅适用于光栅格式的文本对象。感谢您提供有关如何在栅格图上添加离散点的建议。

r raster

3
推荐指数
1
解决办法
2792
查看次数

在R中创建动画

我正在研究R中动画创作的可能性.{Animation}包似乎主要是ffmpeg和imagemagick的R平台.我发现创建单个图像帧的唯一参考是嵌套plot()在循环内.但是,鉴于png()渲染器的速度性能较差,这对于生成更复杂的绘图似乎是一个不可行的缓慢过程,特别是对于包括地图对象的绘图 - 例如:

library(maptools)
data(wrld_simpl)    
starttime = Sys.time()
for(i in 1:10){
  png(paste('frames/', i, '.png', sep=''))
  plot(wrld_simpl, col='grey85', bg = 'white', border='white')
  points(sample(-180:180, 50), sample(-90:90, 50), col='red', pch=16, cex=2)
  title('poxy map')
  dev.off()
}
print(Sys.time() - starttime)
Run Code Online (Sandbox Code Playgroud)

产生10帧并且:

Time difference of 9.763794 secs
Run Code Online (Sandbox Code Playgroud)

我不明白为什么R渲染速度如此之慢 - 按照这个速度,以25fps渲染2分钟视频需要45分钟左右,这对于这个相对简单的地图示例来说似乎很慢.包装apply并不快.有没有人知道plot更有效地包装的方法,或者可能是在渲染了不变的元素之后中途保存了一个情节?

animation r

3
推荐指数
1
解决办法
2257
查看次数

与 R 中的值匹配的像素的栅格网格位置/坐标

有没有办法提取与特定值匹配的像素的网格位置或(最好是具有明确范围的栅格)点/质心坐标?我几乎有一个相当低效的工作流程,转换为矩阵并使用它which(mtrx == max(mtrx), arr.ind = TRUE)来获取矩阵位置,但这(a)丢失了地理空间信息,(b)导致数据在矩阵转换过程中旋转 90 度,这两者都需要额外的代码使其工作并显着减慢计算速度。是否有任何人都知道的等效栅格工作流程?

r raster

3
推荐指数
1
解决办法
6547
查看次数

Google使用自定义搜索引擎生成XML/JSON

我很难找到正确的Google自定义搜索引擎(CSE)URL调用格式,以XML格式返回结果(使用他们的免费服务每天拨打100个电话).我已经建立了一个帐户和CSE.所以现在我有一个公共URL https://www.google.com/cse/publicurl?cx=010317493064298903457:5bsx2whinf8来搜索BBC新闻.但我无法从文档中弄清楚如何开发URL调用以返回XML格式的结果.

https://www.google.com/cse/publicurl?cx=010317493064298903457:5bsx2whinf8&q=lon??don&start=0&num=10&output=xml_no_dtd (基于CSE设置选项中提供的代码)在html框架中给出结果.

http://www.google.com/search?start=0&num=10&q=london&client=google-csbe&output=??xml_no_dtd&cx=010317493064298903457:5bsx2whinf8(遵循XML API示例)也返回HTML.

非常感谢我出错的想法.

xml google-api

3
推荐指数
1
解决办法
1万
查看次数

ggplot 点中的轻微点描边

考虑以下:

图书馆(ggplot2)

df = data.frame(x = rep(0,9), y = rep(0,9), alp = c(1:8/20,1))
ggplot(df) + 
  geom_point(aes(x, y, alpha=alp), size = 20, col = 'red') + 
  theme_minimal() + facet_wrap(~ alp) + guides(alpha = F)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

正如你所看到的,有虚幻的轮廓。它使叠加许多低透明度点看起来有点像青蛙生成。这只是Mac的事情吗?知道如何删除它吗?

r ggplot2

3
推荐指数
1
解决办法
2927
查看次数

为什么any()在没有真值时返回NA

所以我们有这种行为:

any(c(TRUE, FALSE, NA))
#> [1] TRUE
any(c(TRUE, NA))
#> [1] TRUE
any(c(FALSE, NA))
#> [1] NA
Run Code Online (Sandbox Code Playgroud)

有人知道返回NA而不是FALSE的理由吗?IMO该函数应该测试是否存在非FALSE值,NA不是.

r

3
推荐指数
2
解决办法
776
查看次数

ggplot2:用直线 2 连接极坐标中的点

coord_polar 曲线线,有时当您可能不希望时(即当空间被认为是离散的而不是连续的时):

iris %>% gather(dim, val, -Species) %>%
  group_by(dim, Species) %>% summarise(val = mean(val)) %>% 
  ggplot(aes(dim, val, group=Species, col=Species)) + 
    geom_line(size=2) + coord_polar()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

一个以前的解决方法此不再有效。有人对更新的解决方法有任何想法吗?

r ggplot2

3
推荐指数
1
解决办法
2141
查看次数

scale_y_discrete忽略中断/标签

错误?可能与相关..

dat = data.frame(x = 1:4, y = ordered(c(4,'>5',1,1), levels = c(1:5, '>5')), grp = 1)

ggplot(dat, aes(x, y, group=grp)) + geom_step() + 
  scale_y_discrete(breaks = levels(dat$y), labels = levels(dat$y))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

3
推荐指数
1
解决办法
1125
查看次数

用字符串提取第一句

我想从正则表达式中提取下面的第一句话.我想要实现的规则(我知道它不是通用解决方案)是从字符串启动中提取^(包括)以小写字母或数字开头的第一个句点/感叹号/问号.

require(stringr)

x = "Bali bombings: U.S. President George W. Bush amongst many others has condemned the perpetrators of the Bali car bombing of October 11. The death toll has now risen to at least 187."
Run Code Online (Sandbox Code Playgroud)

到目前为止,我最好的猜测是在这种情况下尝试实现非贪婪的字符串匹配前方法失败:

str_extract(x, '.+?(?=[a-z0-9][.?!] )')
[1] NA
Run Code Online (Sandbox Code Playgroud)

任何提示非常感谢.

regex r stringr

3
推荐指数
1
解决办法
245
查看次数

从 ts / mts 对象中提取行名

谁能提取这些日期?

class(Seatbelts)
#> [1] "mts" "ts"
Seatbelts
#>          DriversKilled drivers front rear   kms PetrolPrice VanKilled law
#> Jan 1969           107    1687   867  269  9059  0.10297181        12   0
#> Feb 1969            97    1508   825  265  7685  0.10236300         6   0
#> Mar 1969           102    1507   806  319  9963  0.10206249        12   0
...
Seatbelts[,0]
#>         
#> Jan 1969
#> Feb 1969
#> Mar 1969
...
rownames(Seatbelts)
#> NULL
row.names(Seatbelts)
#> NULL
row.names(as.matrix(Seatbelts))
#> NULL
Run Code Online (Sandbox Code Playgroud)

我很困惑。除了上面之外还尝试了很多。

相关但无帮助:

r

3
推荐指数
1
解决办法
236
查看次数

标签 统计

r ×9

ggplot2 ×3

raster ×2

animation ×1

google-api ×1

regex ×1

stringr ×1

xml ×1