小编use*_*544的帖子

scipy.ndimage.convolve 背后的数学

虽然我已经找到了关于 scipy.ndimage.convolve 函数的文档并且我“实际上知道它是做什么的”,但当我尝试计算结果数组时,我无法遵循数学公式。让我们举个例子:

a = np.array([[1, 2, 0, 0],`
             [5, 3, 0, 4],
             [0, 0, 0, 7],
             [9, 3, 0, 0]])

k = np.array([[1,1,1],[1,1,0],[1,0,0]])

from scipy import ndimage

ndimage.convolve(a, k, mode='constant', cval=0.0)

# Why is the result like this ? 

array([[11, 10,  7,  4], 
       [10,  3, 11, 11],
       [15, 12, 14,  7],
       [12,  3,  7,  0]]) 
Run Code Online (Sandbox Code Playgroud)

我将不胜感激逐步计算。

python scipy

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

将多面 ggplots (facet_wrap) 与 R 中的牛图对齐

我想对齐两个面板图,其中的一个产生facet_wrapggplot以下方式(注:A组需要留空):

在此处输入图片说明

但是,我注意到面板 B 的 y 轴与从最后一个到面板 C 的绘图的 y 轴不完全对齐(尽管axis = 'lb'在两个方面都有选项)。

代码

# Load libraries
library(tidyverse)
library(cowplot)

# Create two facetted plots 
p1 <- ggplot(data = diamonds, aes(x = carat, y = price)) +
  facet_wrap(~ cut, scales = "free_y", ncol = 5) +
  geom_point(size=0.5)

p2<- ggplot(data = filter(diamonds, price < 900 & (cut == "Fair" | cut == "Good" )), aes(x = carat, y = price)) +
  facet_wrap(~ cut, scales = "free_y", ncol …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 cowplot

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

使用R中的ggplot填充行之间的区域

目标

我试图在用R中的ggplot生成的图中填充两行之间的区域.我想在水平线上方的线之间填充不同于水平线以下的颜色.

我成功地用一种颜色填充两条线之间的所有东西,但是,我没有设法用两种不同的颜色区分垂直线的上方和下方.

set.seed(123) 

# Load packages
library(tidyverse)

# Create sample dataframe
df <- data.frame(x=seq(1,50,1),y=runif(50, min = 0, max = 10))

# Generate plot
ggplot(data = df, aes(x = x, y = y)) +
  geom_line() +
  geom_hline(yintercept = 5) +
  theme_classic() +
  geom_ribbon(aes(ymin=5,ymax=y), fill="blue")
Run Code Online (Sandbox Code Playgroud)

如何用不同的颜色填充垂直线上方和下方的空间?

r ggplot2

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

如何从R的数据框中的字符串中提取数字并将其放置在新列中?

我有一个简单的数据框:

df <- data.frame(test = c("test_A_1_1.txt", "test_A_2_1.txt", "test_A_3_1.txt"), value = c(0.51, 0.52, 0.56))

          test   value
1 test_A_1_1.txt  0.51
2 test_A_2_1.txt  0.52
3 test_A_3_1.txt  0.56
Run Code Online (Sandbox Code Playgroud)

预期产量

我想将数字复制到第1列的字符串末尾,并将其分别放在第3列或第4列中,如下所示:

          test value  new new
1 test_A_1.txt  0.51   1  1
2 test_A_2.txt  0.52   2  1
3 test_A_3.txt  0.56   3  1
Run Code Online (Sandbox Code Playgroud)

尝试

使用以下代码,我可以从字符串中提取数字:

library(stringr)
as.numeric(str_extract_all("test_A_3.txt", "[0-9]+")[[1]])[1] # Extracts the first number
as.numeric(str_extract_all("test_A_3.txt", "[0-9]+")[[1]])[2] # Extracts the second number
Run Code Online (Sandbox Code Playgroud)

我想将此代码应用于第一列的所有值:

library(tidyverse)
df %>% mutate(new = as.numeric(str_extract_all(df$test, "[0-9]+")[[1]])[1])
Run Code Online (Sandbox Code Playgroud)

但是,这导致new只有数字的列1。我究竟做错了什么?

r dataframe

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

如何同时获取多个数据帧的子集?

我有 100 个关于 100 个不同位置的数据的数据集。

我想为每个数据集获取相同变量的子集。就像是:

dataset1<-subset(dataset1, which(gender=='F'))
dataset2<-subset(dataset2, which(gender=='F'))
dataset3<-subset(dataset3, which(gender=='F'))
dataset4<-subset(dataset4, which(gender=='F'))
Run Code Online (Sandbox Code Playgroud)

.....

如何同时完成所有 100 个数据集而不是编写 100 行?

r

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

R:如何在向量中的两个值之间找到最大长度序列?

假设我想在 R 的序列中找到最长长度的连续数字(不包括 0)。

示例:(0,2,3,0,5)在这种情况下,它应该返回2.

我想出的解决方案如下:

A1 <- c(1, 1, 0,1,1,1)  
length =NULL  
B<-rle(A1==0)  
C<-B$lengths  
D<-B$values  
for(i in 1:length(C)){  
if(D[i]==FALSE){length[i]=C[i]}
}

length <- length [!is.na(length )]  
max(length)  
[1] 3
Run Code Online (Sandbox Code Playgroud)

如何在R中的向量中找到最长的非零数字序列?

r

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

在 R 中有条件地填充 ggplot 的背景

我想R用特定的颜色填充 ggplot 的背景。

数据帧包含3列:timevalue,和color

df <- data.frame(time = seq(1, 100, 1), 
                 value = c(runif(n = 45, min = 1, max= 10), runif(10, 40, 50), runif(45, 70, 90)), 
                 color = c(rep("green", 45), rep("orange", 10), rep("red", 45))) 
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式填充情节的背景:

library(tidyverse)

ggplot(df) + 
  geom_line(aes(x = time, y = value)) + 
  annotate("rect", xmin=-Inf, xmax= 45, ymin = -Inf, ymax = Inf, alpha = 0.2, fill = "green") +
  annotate("rect", xmin=45, xmax= 55, ymin = -Inf, ymax = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

抖动 geom_line 和 geom_point

我有一个有显着重叠的图,我想在其中抖动 geom_line 和 geom_point。这个解决方案(如何以相同的幅度抖动 geom_line 和 geom_point?)过去对我来说效果很好,但由于某种原因我无法让它在这个数据集上工作。

这是我的数据:

dput(test)
structure(list(individual_code = structure(c(1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 
4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 
7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 
9L, 9L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 
12L, 12L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在 R 中将 unicode 字符保存为 .pdf

我想将特定的 unicode 字符保存到 .pdf 文件中ggsave

示例代码

library(ggplot2)

ggplot() +
  geom_point(data = data.frame(x=1, y=1), aes(x,y), shape = "\u2191") +
  geom_point(data = data.frame(x=2, y=2), aes(x,y), shape = "\u2020")

ggsave("test.pdf", plot = last_plot()), width = 40, height = 40, units = "mm")
Run Code Online (Sandbox Code Playgroud)

但是,在保存.pdfunicode 字符时,将其转换为三个点...

尝试修复它

  1. 我试图cairo_pdfggsave-> 中使用该设备没有工作。
  2. 用这篇文章绘制了unicode字符,但不太明白......

如何在 pdf 中同时使用两个 unicode 字符?

> sessionInfo()
R version 3.6.2
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.5
Run Code Online (Sandbox Code Playgroud)

unicode r ggplot2

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

ggplot2 中facet_wrap() 的手动中断

问题

我试图了解如何手动向由infacet_wrap()中的函数生成的 y 轴中断提供 y 轴中断。ggplot2R

最小可重复示例

免责声明:我从R studio 社区借用了以下示例

使用以下代码,您可以根据 de 数据集中的 y 轴值指定 y 轴分隔符。

library(ggplot2)
diamonds2 <- subset(diamonds, !(cut == "Fair" & price > 5000))

my_breaks <- function(x) { if (max(x) < 6000) seq(0, 5000, 1000) else seq(0, 15000, 5000) }

ggplot(data = diamonds2, aes(x = carat, y = price)) +
  facet_wrap(~ cut, scales = "free_y") +
  geom_point() +
  scale_y_continuous(breaks = my_breaks)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

问题

我希望能够基于facet(在本例中:基于钻石的“切割”)手动指定中断。例如,我想将“Fair”剪辑的休息时间设置为seq(1000, 2500, 5000),将“Good”剪辑的休息时间设置为seq(1500, 3000, …

r ggplot2

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

标签 统计

r ×9

ggplot2 ×6

cowplot ×1

dataframe ×1

python ×1

scipy ×1

unicode ×1