小编ree*_*dms的帖子

R:使用相同的标识符计算数据帧中元素之间的偏移差异

以下是我的数据的子集:

> head(dt)

   name    start     end
1:    1  3195984 3197398
2:    1  3203519 3205713
3:    2  3204562 3207049
4:    2  3411782 3411982 
5:    2  3660632 3661579
6:    3  3638391 3640590

dt <- data.frame(name = c(1, 1, 2, 2, 2, 3), start = c(3195984, 
3203519, 3204562, 3411782, 3660632, 3638391), end = c(3197398, 
3205713, 3207049, 3411982, 3661579, 3640590))
Run Code Online (Sandbox Code Playgroud)

我想计算另一个值:第n行的结束坐标与第n + 1行的起始坐标之间的差异,但仅当两个元素共享一个名称时.详细说明这就是我希望结果数据框看起来像:

   name    start     end    dist
1:    1  3195984 3197398
2:    1  3203519 3205713   -6121
3:    2  3204562 3207049
4:    2  3411782 3411982 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

有没有指定geom_raster插值范围的方法?

我正在使用R求解具有R中两个变量的方程。我正在按序列更改两个变量,然后使用带有插值的geom_raster生成解图。

但是,在绘制数据时,我注意到绘制区域超出了我作为输入给出的y轴值的范围。

如果使用ylim对该区域施加限制,则插值图将缩小并且不再限制值。如果我使用vjust = 0,则图的顶部会限制该区域,而底部则不会。

我的可重现示例代码如下:

library(ggplot2)
library(reshape2)


x_range <- seq(0.001,10, by=0.001)
y_range <- (seq(1*10^-10, 1*10^-9, by = 1*10^-10))

FUN <- function(x, y) log10((1)/(x*y))

data <- outer(x_range, y_range, FUN)

colnames(data) <- y_range
rownames(data) <- x_range

melted_data <- melt(data)

p <- ggplot(data=melted_data)

# basic plot
p + geom_raster(aes(x=Var1, y=Var2, fill=value), interpolate = TRUE) +
  geom_hline(yintercept = 1*10^-10) +
  geom_hline(yintercept = 1*10^-9)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

# with imposed ylim
p + geom_raster(aes(x=Var1, y=Var2, fill=value), interpolate = TRUE) +
  geom_hline(yintercept = 1*10^-10) +
  geom_hline(yintercept = 1*10^-9) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 geom-raster

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

标签 统计

r ×2

dataframe ×1

geom-raster ×1

ggplot2 ×1