小编Z.L*_*Lin的帖子

在不同组中的两个点之间画一条线,同时对点进行捕捉

我想比较条件x和y的值.这是我的数据:

mydata <-  structure(list(
  Row.names = c("ASPTAm", "ATPtmB_MitoCore", "CI_MitoCore", 
                "CIII_MitoCore", "CIV_MitoCore", "CO2t", "CO2tm", "CV_MitoCore", 
                "H2Ot", "H2Otm", "MDH", "MDHm", "O2t", "O2tm", "OF_ATP_MitoCore", 
                "PGK", "PGM", "PIt2mB_MitoCore", "SUCOASm"), 
  mean_x = c(-1.416333333, 
             26.1376024, 8.444222444, 9.983111555, 4.991555778, -5.06, -5.055, 
             24.43926907, -4.719, -30.9051024, -1.580333333, 3.093666667, 
             5, 5, 29.7476024, -1.81, -1.81, 25.9436024, -1.698333333), 
  mean_y = c(-2.455e-14, 
             78.68825722, 51.30062794, 9.897398744, 4.948699372, -40.05114286, 
             -40.15114286, 68.14247151, -29.51685714, -108.3586144, -60.164, 
             10.90278571, 5, 5, 82.39825722, -1.81, -1.81, 86.41154294, -10.58878571
  )), 
  class = "data.frame", row.names = c(NA, -19L), 
  .Names = c("Row.names", "mean_x", "mean_y")) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在 Swift 中的结构中使用突变的性能优缺点是什么

我一直在使用一些函数式程序来避免改变结构,并且没有明确的解释哪种方法在性能方面是最好的。

在这种情况下,任何人都可以帮忙并建议性能和内存管理方面的最佳解决方案是什么?

例如:

变异选项

struct User {

    var name:String

    init(name:String) {
         self.name = name
    }

    mutating func change(name:String){
        self.name = name
    }
 }
Run Code Online (Sandbox Code Playgroud)

非变异选项

 struct User {

    var name:String

    init(name:String) {
         self.name = name
    }

    func change(name:String) -> User {
        return User(name: name)
    }
 }
Run Code Online (Sandbox Code Playgroud)

struct functional-programming ios swift

7
推荐指数
0
解决办法
464
查看次数

将图像添加到ggplot标题中

我想在ggplot标题中添加一个图像或svg.

在此输入图像描述

这就是我的目标:

在此输入图像描述

让眼睛" 在这里 "

以下是我最好的尝试.

我对它不满意,因为我必须尝试错误以使它进入正确的位置.不是一般的解决方案.

library(ggplot2)
library(raster)
library(grid)

img1 <- as.matrix(raster(system.file("external/rlogo.grd", package="raster")))
img1[img1>128] <- NA
img1[img1>0] <- 0
image(img1)

g1 <- rasterGrob(img1, interpolate=TRUE)

p <- ggplot(mtcars, aes(wt, mpg)) +
  geom_point() + 
  ggtitle("       <- dat rLogo tho") +
  annotation_custom(g1,xmin = 1.2,1.6,35.5,38)

gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid.draw(gt)
Run Code Online (Sandbox Code Playgroud)

r image ggplot2

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

在dplyr而不是SE中使用get()是否有缺点?

我一直在阅读关于dplyr中的SE和NSE,并且遇到了我实际需要SE的问题.我有以下函数,应该找到一些项匹配的行,但目标变量不:

find_dataset_inconsistencies <- function(df, target_column, cols_to_use) {
  inconsists <- df %>% 
    group_by_at(cols_to_use) %>% 
    summarise(uTargets = length(unique(get(target_column)))) %>% 
    filter(uTargets > 1)
}
Run Code Online (Sandbox Code Playgroud)

这似乎适用于我的情况.但是,get(target_column)是一种解决方法,因为我需要变量的SE而不能对列名进行硬编码.我最初尝试使用SE版本(summarise_(.dots = ...)),但无法找到用于评估target_column的正确语法.

我的问题如下:简单使用有什么缺点get()吗?这是不行的吗?任何风险/减速?简单地使用get肯定比"正确的"SE语法更具可读性.

r dplyr

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

名称 (x) &lt;- 值中的 gam 函数错误:“名称”属性必须与向量长度相同

我正在使用该mgcv包根据一些环境协变量对臭氧污染浓度进行建模。该模型采用以下形式:

model1 <- gam(O3 ~ s(X, Y, bs = "tp", k = 10) + wd + s(date, bs = "cc", k = 100) + district,
              data = mydata, family = gaussian(link ="log"),
              na.action = "na.omit", method = "REML")
Run Code Online (Sandbox Code Playgroud)

这是协变量的结构:

> str(mydata)
'data.frame': 7100 obs. of  286 variables:
 $ date            : Date, format: "2016-01-01" "2016-01-01" "2016-01-01" ...
 $ O3              : num  0.0141 0.0149 0.0102 0.0159 0.0186 ...
 $ district        : Factor w/ 10 levels "bc","bh","dl",..: 1 8 7 8 …
Run Code Online (Sandbox Code Playgroud)

r date gam

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

ggplot - 面板边框交替黑色和白色矩形

使用ggplot,有没有办法设置面板边框,交替使用黑色和白色矩形,如下所示:

在此输入图像描述

r ggplot2

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

如何在ggplot2中访问由geo_text绘制的标签的尺寸?

据我ggplot2 所知,由绘制的标签的尺寸geom_text。否则,该check_overlap选项将不起作用。

这些维度存储在哪里,如何访问它们?


说明性例子

library(ggplot2)
df <- data.frame(x = c(1, 2), 
                 y = c(1, 1), 
                 label = c("label-one-that-might-overlap-another-label", 
                           "label-two-that-might-overlap-another-label"), 
                 stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

使用check_overlap = FALSE(默认)标签会相互重叠。

ggplot(df, aes(x, y)) + 
  geom_text(aes(label = label)) + 
  xlim(0, 3)                              
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

使用check_overlap = TRUE,不会绘制第二个标签,因为会ggplot发现重叠。

ggplot(df, aes(x, y)) + 
  geom_text(aes(label = label), check_overlap = TRUE) + 
  xlim(0, 3)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

怎么ggplot2知道那些标签重叠?我如何访问该信息?

r ggplot2

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

使用名称后缀旋转更长的时间?

pivot_longer到目前为止,我真的很喜欢使用。有没有办法将我的列的后缀作为pivot_longer命令的一部分?该函数有一个names_prefix参数,但似乎不允许您使用后缀。

data <- tibble::tribble(
   ~last_name, ~first_name, ~pitcher, ~ff_avg_spin, ~si_avg_spin, ~fc_avg_spin, ~sl_avg_spin, ~ch_avg_spin, ~cu_avg_spin, ~fs_avg_spin,
      "Bauer",    "Trevor",   545333,         2286,         2276,         2539,         2687,         1441,         2464,           NA,
      "Rodon",    "Carlos",   607074,         2148,         2211,         2153,         2465,         1725,         2457,         2630,
  "Verlander",    "Justin",   434378,         2583,           NA,         2595,         2626,         1870,         2796,           NA
  )


data_long <- data %>% 
  pivot_longer(
    cols = contains("spin"), 
    names_to = "pitch_type",
    values_to = "avg_spin",
    values_drop_na = TRUE
  )
Run Code Online (Sandbox Code Playgroud)

我怎样才能让pitch_type列只列出 _avg_spin 之前的文本?IE ff、si、fc 等。理想情况下,我希望该文本大写,但我可以使用在pivot_longer

r tidyr

7
推荐指数
2
解决办法
954
查看次数

构面时未显示ggplot2自定义统计信息

我试图写一个自定义stat_*ggplot2,在这里我想用瓷砖颜色的2D黄土表面。当我从扩展指南开始时,我可以像他们一样编写stat_chull:

stat_chull = function(mapping = NULL, data = NULL, geom = "polygon",
                       position = "identity", na.rm = FALSE, show.legend = NA, 
                       inherit.aes = TRUE, ...) {

  chull = ggproto("chull", Stat,
    compute_group = function(data, scales) {
      data[chull(data$x, data$y), , drop = FALSE]
    },
    required_aes = c("x", "y")
  )

  layer(
    stat = chull, data = data, mapping = mapping, geom = geom, 
    position = position, show.legend = show.legend, inherit.aes = inherit.aes,
    params = list(na.rm = na.rm, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggproto

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

无法复制此 ggplot2 图

我无法从ggrough库中复制示例( https://xvrdm.github.io/ggroough/articles/Customize%20chart.html )。特别是,我试图复制以下情节(减去字体方面):

在此处输入图片说明

代码来自上面“幼儿园”标题下的相同链接。

我正在使用以下代码:

library(hrbrthemes)
library(tidyverse)
library(gcookbook)
library(ggplot2)
library(ggrough)
ggplot(uspopage, aes(x=Year, y=Thousands, fill=AgeGroup)) + 
    geom_area(alpha=0.8) +
    scale_fill_ipsum() +
    scale_x_continuous(expand=c(0,0)) +
    scale_y_comma() -> p 

options <- list(GeomArea=list(fill_style="hachure", 
                              angle_noise=0.5,
                              gap_noise=0.2,
                              gap=1.5,
                              fill_weight=1))
get_rough_chart(p, options)
Run Code Online (Sandbox Code Playgroud)

但是,我无法复制上述内容。这是我得到的:

在此处输入图片说明

同样,我不担心字体,但确实想让阴影 geom_area 工作。它目前根本不渲染。作为参考,这里是p对象产生的结果(即,经过ggrough处理之前的图):

在此处输入图片说明

另请注意,我能够复制“蓝图”示例,该示例使用geom_col. 所以看来事情错用ggrough处理geom_area,但不能肯定。

r ggplot2 ggrough

7
推荐指数
2
解决办法
235
查看次数

标签 统计

r ×9

ggplot2 ×6

date ×1

dplyr ×1

functional-programming ×1

gam ×1

ggproto ×1

ggrough ×1

image ×1

ios ×1

struct ×1

swift ×1

tidyr ×1