我distr用来形成以下分布:
library(distr)
G1 <- Gammad(shape=1.64, scale=0.766)
G2<- Gammad(shape=0.243, scale=4.414)
Run Code Online (Sandbox Code Playgroud)
现在为了比较这两个分布,我需要在一个窗口中绘制它们,但我不知道如何。我试过了,ggplot但显然它不适用于伽马函数。
我有以下数据框:
id <- c(1,1,1,1,1,2,2,2,2)
spent <- c(10,10,20,10,10,5,5,5,20)
period <- c("f","c","c","v","v","f","c","c","v")
mean.spent <- c(10,15,15,10,10,5,5,5,20)
df <- data.frame(id,spent,period,mean.spent)
Run Code Online (Sandbox Code Playgroud)
我想要的是汇总每个时期每个Id的平均花费如下:
id f c v
1 10 15 10
2 5 5 20
Run Code Online (Sandbox Code Playgroud)
你能帮我做一下吗?
对于数据框如下
id<-c(1,1,2,3,3,2)
p<-c(10,0,22,34,0,0)
df<-data.frame(id,p)
Run Code Online (Sandbox Code Playgroud)
我需要一个总结表
id p
1 10
2 22
3 34
Run Code Online (Sandbox Code Playgroud)
这实际上是每个id的p的总和.我可以用'dcast'来获得这个吗?
我有以下数据框:
id<-c(1,1,1,1,1,3,3,3,3)
spent<-c(10,20,30,40,50,60,70,80,90)
date<-c("11-11-07","11-11-07","23-11-07","12-12-08","17-12-08","11-11-07","23-11-07","23- 11-07","16-01-08")
df<-data.frame(id,date,spent)
df$date2<-as.Date(as.character(df$date), format = "%d-%m-%y")
id date spent date2
1 1 11-11-07 10 2007-11-11
2 1 11-11-07 20 2007-11-11
3 1 23-11-07 30 2007-11-23
4 1 12-12-08 40 2008-12-12
5 1 17-12-08 50 2008-12-17
6 3 11-11-07 60 2007-11-11
7 3 23-11-07 70 2007-11-23
8 3 23-11-07 80 2007-11-23
9 3 16-01-08 90 2008-01-16
Run Code Online (Sandbox Code Playgroud)
我需要每天计算总和spent,id并将其包含在框架工作中,如下所示:
id date spent date2 sum.spent
1 1 11-11-07 10 2007-11-11 10
2 1 11-11-07 20 2007-11-11 …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何加快组内的累积总和?
在以下数据框中
id<-c(1,1,1,1,1,3,3,3,3)
spent<-c(10,20,30,40,50,60,70,80,90)
date<-c("11-11-07","11-11-07","23-11-07","12-12-08","17-12-08","11-11-07","23-11-07","23- 11-07","16-01-08")
df<-data.frame(id,date,spent)
df$date2<-as.Date(as.character(df$date), format = "%d-%m-%y")
id date spent date2
1 1 11-11-07 10 2007-11-11
2 1 11-11-07 20 2007-11-11
3 1 23-11-07 30 2007-11-23
4 1 12-12-08 40 2008-12-12
5 1 17-12-08 50 2008-12-17
6 3 11-11-07 60 2007-11-11
7 3 23-11-07 70 2007-11-23
8 3 23-11-07 80 2007-11-23
9 3 16-01-08 90 2008-01-16
Run Code Online (Sandbox Code Playgroud)
我需要找到每天spent每个的最大值,id并在单独的列中记录如下:
id date spent date2 sum.spent
1 1 11-11-07 10 2007-11-11 20
2 1 11-11-07 …Run Code Online (Sandbox Code Playgroud) 我有以下数据框:
id<-c(1,2,3,4)
date<-c("23-01-08","01-11-07","30-11-07","17-12-07")
df<-data.frame(id,date)
df$date2<-as.Date(as.character(df$date), format = "%d-%m-%y")
Run Code Online (Sandbox Code Playgroud)
在我的表格的第四列中,我想根据日期将我的数据划分为校准和有效,以便在日期<= 2007-12-16的情况下,第四列应该calib是否应该是valid
我写了以下几行:
for ( i in 1:4)
if (df[i,3]<=2007-12-16)(df[i,4]="calib")else (df[i,4]="valid")
Run Code Online (Sandbox Code Playgroud)
第一个问题是,通过执行此命令,第4列中的所有单元格都将变为valid,并且似乎无法正确处理日期条件.所以我的第一个问题是如何解决这个问题.
第二个问题是我的真实数据框有600000行,执行这个命令需要几个小时.我想知道是否有任何方法可以更快地执行此命令并具有完整的CPU容量.
谢谢!