小编TWe*_*est的帖子

填写ggplot2中的折线图下的区域:geom_area()

对于数据:

    def.percent period  valence
1   6.4827843   1984-1985   neg
2   5.8232425   1985-1986   neg
3   -2.4003260  1986-1987   pos
4   -3.5994399  1987-1988   pos
Run Code Online (Sandbox Code Playgroud)

如果我在点上添加一条线,我怎样才能使用ggplot2为线条[geom_area()]下的区域着色,使用不同的颜色为"neg"和"pos"?

我试过这个:

ggplot(data, aes(x=period, y=def.percent, group = 1)) +
geom_area(aes(fill=valence)) +
geom_line() + geom_point() + geom_hline(yintercept=0)
Run Code Online (Sandbox Code Playgroud)

但是R返回错误:

Error: Aesthetics can not vary with a ribbon
Run Code Online (Sandbox Code Playgroud)

这个相同的代码适用于不同的数据集,我不明白这里发生了什么,例如:

library(gcookbook) # For the data set
cb <- subset(climate, Source=="Berkeley")
cb$valence[cb$Anomaly10y >= 0] <- "pos"
cb$valence[cb$Anomaly10y < 0] <- "neg"

ggplot(cb, aes(x=Year, y=Anomaly10y)) +
  geom_area(aes(fill=valence)) +
  geom_line() +
  geom_hline(yintercept=0)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 aesthetics

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

在其他数据框列之间添加新列

我想在我的数据帧中添加一个带有"NA"的新列:

     A       B
1    14379  32094
2   151884  174367
3   438422  449382
Run Code Online (Sandbox Code Playgroud)

但我需要它位于col之间.A和B,像这样:

     A       C      B
1    14379   NA    32094
2   151884   NA    174367
3   438422   NA    449382
Run Code Online (Sandbox Code Playgroud)

我知道如何添加col.col后的C. B,但这对我没有帮助......任何人都知道怎么做?

r dataframe

12
推荐指数
2
解决办法
2万
查看次数

如何计算列中前4个观测值的平均值?

如何计算列中前4个观测值的平均值?

c(12, 13, 15, 1, 5, 9, 34, 50, 60, 50, 60, 4, 6, 8, 12)
Run Code Online (Sandbox Code Playgroud)

例如,在上面我会有(50 + 60 + 50 + 60)/ 4 = 55.我只知道如何使用分位数,但它不适用于此.

有任何想法吗?

r max mean

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

循环进行矩阵乘法

我有这个矩阵:

            V1         V2         V3        V4         V5         V6         V7 V8
[1,] 0.8399983 0.01558029 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000  0
[2,] 0.0000000 0.89022017 0.02570281 0.0000000 0.00000000 0.00000000 0.00000000  0
[3,] 0.0000000 0.00000000 0.87910624 0.0242963 0.00000000 0.00000000 0.00000000  0
[4,] 0.0000000 0.00000000 0.00000000 0.0000000 0.03428571 0.00000000 0.00000000  0
[5,] 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000 0.02988506 0.00000000  0
[6,] 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000 0.73438228 0.01666667  0
[7,] 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000  0
[8,] 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 …
Run Code Online (Sandbox Code Playgroud)

loops r vector matrix multiplication

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

标签 统计

r ×4

aesthetics ×1

dataframe ×1

ggplot2 ×1

loops ×1

matrix ×1

max ×1

mean ×1

multiplication ×1

vector ×1