小编Gre*_*ory的帖子

如何将 stat_function 美学映射到 ggplot2 中的数据?

我想将一个stat_function图层添加到一个绘图中,其美学映射到某些标识一组参数的变量的状态。我在下面的最小工作示例中手动创建了两个 stat_function 行。这通常是结果的样子。

p <- ggplot(data.frame(x = -1:1), aes(x = x))
p + stat_function(fun = function (x) 0 + 1 * x, linetype = 'dotted') +
  stat_function(fun = function (x) 0.5 + -1 * x, linetype = 'solid')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我对如何做到这一点的最佳猜测是

params <- data.frame(
  type = c('true', 'estimate'),
  b = c(0, 0.5),
  m = c(1, -1),
  x = 0
)

linear_function <- function (x, b, m) b + m * x
p + stat_function(data = params,
                  aes(linetype = type, x …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
692
查看次数

更新grep for Mac OS 10.7

我想将Mac上的grep更新到2.5.1以后的更新版本,它与Mac OS 10.7.2一起提供.我的问题是:更新Mac的grep(或任何类似程序)的最佳方法是什么?我可以使用Fink或MacPorts来安装新版本并设置我的路径变量以查看文件树的相应分支,或者我可以更新usr/bin中的grep程序,或者可能还有另一种我没有考虑过的方法.因为我对命令行和Mac的Unix后端相对较新,所以我担心会破坏某些东西.也就是说,我当然愿意从源代码编译最新的grep稳定版本并将其安装在/ usr/bin中,如果这是合适的方法.如果有人想知道我为什么要从2.5.1更新grep,我有两个原因:第一,我正在学习使用grep和基于2.5.3的参考书(可能类似,我知道); 第二,更重要的是,我想学习如何更新这些程序只是为了有效地管理我自己的系统.

macos grep administration

4
推荐指数
3
解决办法
4130
查看次数

如何将单个scale_color*的不同方面映射到ggplot2中的不同变量?

我想同时可视化空间数据中预测的平均值和误差(方差)。一种可能的方法是将平均值映射到色调,将误差映射到饱和度或亮度。尽管我在地图中执行此操作,但我将在此处提供一个改编自 ggplot2 文档的更简单的最小工作示例。

library(ggplot2)
library(RColorBrewer)
dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6)
dsub$var <- dsub$x
dsub$diff <-  with(dsub, sqrt(abs(x-y))* sign(x-y))
d <- qplot(x, y, data=dsub, colour=diff)
d + scale_color_gradientn(colours=brewer.pal(7,"YlOrRd"))
Run Code Online (Sandbox Code Playgroud)

一个变量映射到颜色

我希望看到的不是所附的图,而是将色带的亮度或饱和度映射到数据中的变量“var”的版本。理想情况下,这样的图应包含二维图例。

r ggplot2

4
推荐指数
1
解决办法
692
查看次数

如何加快数据加载到R?

问题:

数据集需要6-12个小时才能加载到R中.大量的数据集即将出现,我目前的导入过程显然还没有为他们做好准备.一旦它在数据框中全部,大小就不是问题; 大多数操作只需几秒钟,因此我的硬件可能不是问题.

注意:这个问题不是类似问题的重复,因为我已经实现了相关线程的大部分建议,例如指定colClasses.

数据:

制表符分隔文本文件中的行如下所示:

20  -0.5    1   2   1   1   19  0   119 30  exp(-31.3778)
Run Code Online (Sandbox Code Playgroud)

加载数据:

我已经定义了几个函数,它们一起循环文件以将数据加载到单个数据框中,然后将其保存为blob.这个过程需要数小时.该过程可预测地减慢并在进展时使用更多内存; top表示在使用数据文件的一半时,R正在使用> 95%的CPU和(更重要的是?)> 1.5 GB的实内存.

# get numeric log from character data
extract_log <- function(x) {
  expr <- "exp\\((.*)\\)"
  substring <- sub(expr, "\\1", x)
  log <- as.numeric(substring)
  return(log)

# reads .dat files into data frames
read_dat <- function(x, colClasses = c(rep("numeric", 10), "character")) {
  df <- read.table(x, header = TRUE, sep = "\t", comment.char = "",
                   colClasses = colClasses)
  df <- cbind(df, …
Run Code Online (Sandbox Code Playgroud)

r

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

如何在ggplot2中为回归线指定方程?

我想在 ggplot2 中创建一个散点图,其中一条或多条线重叠。查看了 geom_smooth() 和 geom_line() 的文档后,我仍然不清楚如何指定要添加到图中的线的方程。我知道这必须是非常基本的,所以请随意简单地向我指出我必须忽略的适当文档。

r ggplot2

2
推荐指数
1
解决办法
4246
查看次数

为什么Python的re模块不能在这个方法中工作?

我在使用Python的re模块创建类的实例时遇到了麻烦.这是我正在尝试做的事情:

  1. 循环遍历许多数据文件的每一行.
  2. 如果一行与记录的格式匹配,则创建Record类的实例,并将记录的两个值作为属性.

我希望下面的代码片段能够在Record类reterminal()方法中打印模块捕获的五个大写字母的字符串,但很明显我误解了一些东西.实际输出位于代码下方.

    class SrcFile:
       def __init__(self, which):
          self.name = which       

    class Record(SrcFile):       
       def terminal(self):
          recordline = re.compile(r"^([A-Z]{5})\s{3}")
          if recordline.match(self):
             m = recordline.match(self)
             return m.group(1)

    for f in files:
       file = SrcFile(f)
       for l in f:
          record = Record(f)
          print(record.terminal())
Run Code Online (Sandbox Code Playgroud)

同样,我希望每条记录行看到一个包含五个大写字母的字符串,但实际上我得到的是:

Traceback (most recent call last):
  File "./next.py", line 78, in <module>
    print(record.terminal())
  File "./next.py", line 63, in terminal
    if recordline.match(self):
TypeError: expected string or buffer
Run Code Online (Sandbox Code Playgroud)

如果有人能够在代码中解释原因,那也会很有帮助

for f in files:
   file = SrcFile(f)
   for …
Run Code Online (Sandbox Code Playgroud)

python methods class

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

标签 统计

r ×4

ggplot2 ×3

administration ×1

class ×1

grep ×1

macos ×1

methods ×1

python ×1