这篇文章是后续根据“几个因素”斜率更改 ggplot 中的线条颜色 https://stackoverflow.com/questions/39023962/changing-line-color-in-ggplot-based-on-several-factors-slope/39025244#39025244
我想按“PQ”对数据(如下)进行分组,但是出现以下错误:
“不兼容的大小 (0),期望 1(组大小)或 1”
Data
ID<-c("A_P1","A_P1","A_P1","A_P1","A_P1","A_P2","A_P2","A_P2","A_P2","A_P2","A_P2","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P1","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2","B_P2")
Q<-c("C1","C1","C2","C3","C3","C1","C1","C2","C2","C3","C3","Q1","Q1","Q1","Q1","Q3","Q3","Q4","Q4","Q1","Q1","Q1","Q1","Q3","Q3","Q4","Q4")
PQ<-c("A_P1C1","A_P1C1","A_P1C2","A_P1C3","A_P1C3","A_P2C1","A_P2C1","A_P2C2","A_P2C2","A_P2C3","A_P2C3","B_P1Q1","B_P1Q1","B_P1Q1","B_P1Q1","B_P1Q3","B_P1Q3","B_P1Q4","B_P1Q4","B_P2Q1","B_P2Q1","B_P2Q1","B_P2Q1","B_P2Q3","B_P2Q3","B_P2Q4","B_P2Q4")
AS<-c("CF","CF","CF","CF","CF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF","CTF")
N<-c("N2","N3","N3","N2","N3","N2","N3","N2","N3","N2","N3","N0","N1","N2","N3","N1","N3","N0","N1","N0","N1","N2","N3","N1","N3","N0","N1")
Value<-c(4.7,8.61,8.34,5.89,8.36,1.76,2.4,5.01,2.12,1.88,3.01,2.4,7.28,4.34,5.39,11.61,10.14,3.02,9.45,8.8,7.4,6.93,8.44,7.37,7.81,6.74,8.5)
df<-data.frame(ID=ID,Q=Q,PQ=PQ,AS=AS,N=N,Value=Value)
产生错误的代码
#calculate slopes for N0 and N1
df %>%
filter(N=="N0" | N=="N1") %>%
group_by(PQ) %>%
# use diff to calculate slope
mutate(slope = diff(Value)) -> dat01
#calculate slopes for N0 and N2
df %>%
filter(N=="N0" | N=="N2") %>%
group_by(PQ) %>%
# use diff to calculate slope
mutate(slope = diff(Value)) -> dat02
此外,我想计算其余“PQ”因子(如果存在)的斜率,即 N0-N3;N1-N2 ...等等