总结一下dplyr包:如何解决`错误:期待单个值`

Ame*_*mer 3 r dplyr

我想通过ID,DRUG,FED总结CONCfor DVID =1和的总和DVID==2

df<- 
ID  DRUG  FED  DVID  CONC
1    1     1    1     20
1    1     1    2     40
2    2     0    1     30
2    2     0    2     100
Run Code Online (Sandbox Code Playgroud)

我试过用这个:

df2 <- df %>% 
  group_by(ID,DRUG,FED) %>% 
  summarise(SumCOnc=CONC+lag(CONC))
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

Error: expecting a single value
Run Code Online (Sandbox Code Playgroud)

我使用时没有收到错误mutate.有没有办法解决它,所以我summarise在上述情况下使用?

输出应该基本上是这样的:

ID  DRUG  FED  SumConc
1    1     1    60
2    2     0    130
Run Code Online (Sandbox Code Playgroud)

Ben*_*ker 6

这似乎很简单:只是使用sum(),不要乱用lag()......

获取数据:

df<- read.table(header=TRUE,
text="
ID  DRUG  FED  DVID  CONC
1    1     1    1     20
1    1     1    2     40
2    2     0    1     30
2    2     0    2     100
")
Run Code Online (Sandbox Code Playgroud)

处理:

library(dplyr)
df %>% 
  group_by(ID,DRUG,FED) %>% 
  summarise(SumConc=sum(CONC))

##      ID  DRUG   FED SumConc
## 1     1     1     1      60
## 2     2     2     0     130
Run Code Online (Sandbox Code Playgroud)