对于数据:
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) 我想在我的数据帧中添加一个带有"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,但这对我没有帮助......任何人都知道怎么做?
如何计算列中前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.我只知道如何使用分位数,但它不适用于此.
有任何想法吗?
我有这个矩阵:
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)