小编Ben*_*Ben的帖子

如何使用ggplot在同一图表上绘制许多数据框

我有36个不同的数据框,包含dX和dY变量.我已将它们存储在列表中,并希望将它们全部显示在x = dX和y = dY的同一图表上.

36个数据帧不共享相同的dX值.它们大致覆盖相同的范围,但没有完全相同的值,因此使用合并会产生大量的NA值.但行数相同.

我尝试了一些丑陋的东西,几乎可以起

g <- ggplot()
for (i in 1:36) {
  g <- g + geom_line(data = df.list[[i]], aes(dX, dY, colour = i))
}
print(g)
Run Code Online (Sandbox Code Playgroud)

这会正确显示曲线,但不会应用颜色(我没有合适的图例).好的,图例中有36行可能不实用.在这种情况下,我会减少绘制的行数.

第二种方法:我尝试按如下方式熔化数据帧.

df <- melt(df.list, id.vars = "dX")
ggplot(df, aes(x = dX, y = value, colour = L1)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

但是这会创建一个带有列的4变量数据框:dX,变量(总是等于dY),值(这里是dY值)和L1,它包含列表中数据框的索引.

以下是融化数据框的第一行:

          dX variable        value L1
1   4.952296       dY 6.211485e-05  1
2   6.766889       dY 7.661041e-05  1
3   8.581481       dY 9.550221e-05  1
4  10.396074       dY 1.192053e-04  1
5  12.210666       dY 1.498834e-04  1 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

用R中的二次拟合外推整条曲线

我在4个温度 s下沿轴x对变量y进行了四次测量:

require(ggplot2)
x <- seq(0, 10, by = 0.1)
y1 <- cos(x)
y2 <- cos(x) + 0.2
y3 <- cos(x) + 0.4
y4 <- cos(x) + 0.8

df.1 <- data.frame(x, y = y1, Name = "df.1", Temperature = 4)
df.2 <- data.frame(x, y = y2, Name = "df.2", Temperature = 3)
df.3 <- data.frame(x, y = y3, Name = "df.3", Temperature = 2)
df.4 <- data.frame(x, y = y4, Name = "df.4", Temperature = …
Run Code Online (Sandbox Code Playgroud)

r

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

如何在 tibble 上应用 diff 函数

我想将差异应用于数据框列,通过其名称访问它。我所做的如下:

\n\n
abscissa <- "distance"\ndata.op[, abscissa]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我得到这个输出

\n\n
# A tibble: 15 x 1\n   distance\n        <dbl>\n 1     0.0426\n 2     0.0409\n 3     0.0412\n 4     0.0406\n 5     0.0406\n 6     0.0407\n 7     0.0402\n 8     0.0403\n 9     0.103 \n10     0.0402\n11     0.0395\n12     0.0407\n13     0.0406\n14     0.0405\n15     0.0404\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我简单地尝试:

\n\n
 diff(data.op[, abscissa])\n
Run Code Online (Sandbox Code Playgroud)\n\n

但输出是:

\n\n
 # A tibble: 15 x 0\n
Run Code Online (Sandbox Code Playgroud)\n\n

我也尝试data.op[, abscissa] %>% diff过并且data.op %>% select(abscissa) %>% diff获得相同的零列结果。

\n\n

但是,如果我这样做

\n\n
diff(as.data.frame(data.op)[, abscissa])\n
Run Code Online (Sandbox Code Playgroud)\n\n

有用:

\n\n
[1] -0.00169560  0.00024120 …
Run Code Online (Sandbox Code Playgroud)

r

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

查找以R中的给定字符串结尾的字符串向量的所有元素

假设我有一个字符向量:

test <- c("a##", "b", "c##", "d", "e")
Run Code Online (Sandbox Code Playgroud)

我想检索以"##"结尾的元素的索引.

我怎样才能做到这一点?

regex r

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

标签 统计

r ×4

ggplot2 ×1

regex ×1