小编Har*_*ish的帖子

Rhtml:警告:'mbcsToSbcs'中'<var>'的转换失败:dot替换为<var>

环境:

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)

encoding r knitr

13
推荐指数
2
解决办法
4205
查看次数

地理热/等值线图的空间插值的最佳方法?

我想使用类似ggplot2ggmap产生任意值的热图,如每平方米楼价在街道水平,以在地理区域(高分辨率).

不幸的是,这项任务似乎相当困难,因为虽然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)

interpolation r geospatial ggplot2 ggmap

10
推荐指数
1
解决办法
598
查看次数

ggplot2中的topoplot - 例如EEG数据的2D可视化

可以ggplot2用来产生一个所谓的topoplot(经常用于神经科学)?

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)

完整的样本数据.

行代表单个电极.列xy表示投影到2D空间中,列signal基本上是z轴,表示在给定电极处测量的电压.

stat_contour 不起作用,显然是由于网格不平等.

geom_density_2d只提供的密度估计xy.

geom_raster 是不适合这项任务的,或者我必须错误地使用它,因为它很快就会耗尽内存.

不需要平滑(如右图所示)和头部轮廓(鼻子,耳朵).

我想避免使用Matlab并转换数据,以便它适合这个或那个工具箱......非常感谢!

更新(2016年1月26日)

我能够达到目标的最接近的是通过

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)

产生这样的图像:

在此输入图像描述

更新2(2016年1月27日)

我已经尝试了@ alexforrence的完整数据方法,这就是结果:

@ alexforrence的方法

这是一个很好的开始,但有几个问题:

  1. 最后一次调用(ggplot())在Intel i7 4790K上大约需要40秒,而Matlab工具箱几乎可以立即生成这些内容.我上面的'紧急解决方案'需要大约一秒钟.
  2. 正如你所看到的,中央部分的上边界和下边界似乎是"切片" - 我不确定是什么导致这种情况,但它可能是第三个问题.
  3. 我收到这些警告:

    1: Removed 170235 …
    Run Code Online (Sandbox Code Playgroud)

r neuroscience ggplot2 eeglab

8
推荐指数
1
解决办法
2287
查看次数

R {xml_node} 到纯文本同时保留标签?

我想做什么xml2::xml_text()rvest::html_text()做什么,但保留标签而不是<br>\n. 目标是例如抓取网页,提取我想要的节点,并将纯 HTML 存储在变量中,就像write_html()将其存储在文件中一样。

我怎样才能做到这一点?

r rvest xml2

6
推荐指数
1
解决办法
759
查看次数

用于选择并连接所有文本节点的 XPath

我正在从一个网站上抓取数据,如下所示:

\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>\n
Run Code Online (Sandbox Code Playgroud)\n\n

假设这样的代码片段在单个页面上出现 20 次,我想获取 中的所有文本,<blockquote>但忽略子节点(例如内部 )中的所有内容div

\n\n

因此我使用:

\n\n
html %>%\n  html_nodes(xpath = "//*[@class=\'content\']/blockquote/text()[normalize-space()]")\n
Run 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

\n\n

我应该怎么做才能将所有这些文本节点本质上连接成一个并返回相同的 20 个元素(或者返回一个元素,以防我所拥有的只是这个示例)?

\n

xpath r web-scraping rvest

5
推荐指数
2
解决办法
4396
查看次数

如何从CSV列创建句子

我的目标是创建一个由三个随机单词组成的句子,这些单词将从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.

php csv input

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

为什么as.numeric(1)==(3 | 4)评估为TRUE?

我想做一个简单的比较,使用的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

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