环境:
R v 2.15.1在Mac OS 10.8.2上,平台x86_64-apple-darwin9.8.0/x86_64(64位),RStudio IDE设置为使用UTF-8作为其默认编码.操作系统也使用UTF-8.
> Sys.getlocale(category = "LC_ALL")
[1] "sk_SK.UTF-8/sk_SK.UTF-8/sk_SK.UTF-8/C/sk_SK.UTF-8/sk_SK.UTF-8"
Run Code Online (Sandbox Code Playgroud)
目的:
从R HTML(.Rhtml)文件生成HTML文件,其中包含带有扩展拉丁字符的图,例如š或č.
问题:
当我点击Knit HTML时,输出如下所示:
plot(1:2, main = "š?")
## Warning: conversion failure on 'š?' in 'mbcsToSbcs': dot substituted for
##
## Warning: conversion failure on 'š?' in 'mbcsToSbcs': dot substituted for
##
## Warning: conversion failure on 'š?' in 'mbcsToSbcs': dot substituted for
##
## Warning: conversion failure on 'š?' in 'mbcsToSbcs': dot substituted for
## <8d>
**Plot with correct characters despite the …Run Code Online (Sandbox Code Playgroud) 我想使用类似ggplot2并ggmap以产生任意值的热图,如每平方米楼价在街道水平,以在地理区域(高分辨率).
不幸的是,这项任务似乎相当困难,因为虽然ggplot2可以产生一个很大的密度图,但似乎无法在没有事先插值的情况下将这样的空间数据可视化.
为此,我使用了库akima(不规则数据的网格双变量插值)和mgcv(带有积分平滑度估计的广义加性模型),但是我对插值方法的了解最多也是平庸的,而且我能够产生的结果不是足够令人满意
请考虑以下示例:
library(ggplot2)
library(ggmap)
## data simulation
set.seed(1945)
df <- tibble(x = rnorm(500, -0.7406, 0.03),
y = rnorm(500, 51.9976, 0.03),
z = abs(rnorm(500, 2000, 1000)))
Run Code Online (Sandbox Code Playgroud)
## ggmap
map <- get_map("Bletchley Park, Bletchley, Milton Keynes", zoom = 13, source = "stamen", maptype = "toner-background")
q <- ggmap(map, extent = "device", darken = .5)
## scatterplot over map
q + geom_point(aes(x, y), data = …Run Code Online (Sandbox Code Playgroud) 可以ggplot2用来产生一个所谓的topoplot(经常用于神经科学)?
样本数据:
label x y signal
1 R3 0.64924459 0.91228430 2.0261520
2 R4 0.78789621 0.78234410 1.7880972
3 R5 0.93169511 0.72980685 0.9170998
4 R6 0.48406513 0.82383895 3.1933129
Run Code Online (Sandbox Code Playgroud)
行代表单个电极.列x和y表示投影到2D空间中,列signal基本上是z轴,表示在给定电极处测量的电压.
stat_contour 不起作用,显然是由于网格不平等.
geom_density_2d只提供的密度估计x和y.
geom_raster 是不适合这项任务的,或者我必须错误地使用它,因为它很快就会耗尽内存.
不需要平滑(如右图所示)和头部轮廓(鼻子,耳朵).
我想避免使用Matlab并转换数据,以便它适合这个或那个工具箱......非常感谢!
我能够达到目标的最接近的是通过
library(colorRamps)
ggplot(channels, aes(x, y, z = signal)) + stat_summary_2d() + scale_fill_gradientn(colours=matlab.like(20))
Run Code Online (Sandbox Code Playgroud)
产生这样的图像:
我已经尝试了@ alexforrence的完整数据方法,这就是结果:
这是一个很好的开始,但有几个问题:
ggplot())在Intel i7 4790K上大约需要40秒,而Matlab工具箱几乎可以立即生成这些内容.我上面的'紧急解决方案'需要大约一秒钟.我收到这些警告:
1: Removed 170235 …Run Code Online (Sandbox Code Playgroud)我想做什么xml2::xml_text()或rvest::html_text()做什么,但保留标签而不是<br>用\n. 目标是例如抓取网页,提取我想要的节点,并将纯 HTML 存储在变量中,就像write_html()将其存储在文件中一样。
我怎样才能做到这一点?
我正在从一个网站上抓取数据,如下所示:
\n\n<div class="content">\n <blockquote>\n <div>\n Do not select this.\n </div>\n How do I select only this\xe2\x80\xa6\n <br />\n and this\xe2\x80\xa6\n <br />\n and this in a single node?\n </blockquote>\n</div>\nRun Code Online (Sandbox Code Playgroud)\n\n假设这样的代码片段在单个页面上出现 20 次,我想获取 中的所有文本,<blockquote>但忽略子节点(例如内部 )中的所有内容div。
因此我使用:
\n\nhtml %>%\n html_nodes(xpath = "//*[@class=\'content\']/blockquote/text()[normalize-space()]")\nRun Code Online (Sandbox Code Playgroud)\n\n然而,这将How do I select only this\xe2\x80\xa6, and this\xe2\x80\xa6,and this in a single node?分成结构内的各个元素xml_nodeset。
我应该怎么做才能将所有这些文本节点本质上连接成一个并返回相同的 20 个元素(或者返回一个元素,以防我所拥有的只是这个示例)?
\n我的目标是创建一个由三个随机单词组成的句子,这些单词将从CSV文件的列中获取.
让PHP只从正确的列中选择单词时遇到麻烦,因此第一列包含句子中第一个单词,第二列只包含中间单词,第三列只包含最后一个单词.
CSV文件的示例:
my;horse;runs
your;chicken;sits
our;dog;barks
Run Code Online (Sandbox Code Playgroud)
输出示例:
My chicken barks. *reload*
Your horse sits. *reload*
Our dog runs.
Run Code Online (Sandbox Code Playgroud)
到目前为止我的努力:
<?php
$file = fopen('input.csv', 'r');
while (($line = fgetcsv($file, 1000, ";")) !== FALSE) {
$x = array_rand($line);
echo $line[$x] . "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
请提前感谢并原谅这个强烈的noobness.
我想做一个简单的比较,使用的h == 1 | 2地方h可以是1到4之间的整数.令我惊讶的是,它没有用.
我可以理解为什么
1 == 2 | 4
真正
甚至可能是为什么
1 ==(2 | 4)
真正
但为什么以所有合理和理智的名义呢
as.numeric(1)==(2 | 4)
要么
1L ==(2 | 4)
要么
3 == 2 | 4
评价为
真正
???
我怎么能请R告诉我是否1 is equal to 2 or 4会得到答案FALSE?
r ×6
ggplot2 ×2
rvest ×2
csv ×1
eeglab ×1
encoding ×1
geospatial ×1
ggmap ×1
input ×1
knitr ×1
neuroscience ×1
php ×1
web-scraping ×1
xml2 ×1
xpath ×1