我正在尝试生成一些虚假数据来构成数据集,以便进行一些分析。我正在尝试建立一个有理发日期的数据集,然后根据正常的偏斜数据生成方式生成其他日期。最终目标是预测将来的理发间隔。
我已经为一个客户构建了这个,但是我试图为不同的n值一遍又一遍地做,所以我需要帮助使其更具编程性。我尝试了不同的循环,并且空手而归。我是编程新手。预先感谢!
#load the library for skewed normal generation
library(fGarch)
#set observations and generate data
n=5
set.seed(1)
days_since_last=rsnorm(n, mean = 35, sd = 5, xi = 2)
days_since_last=as.integer(days_since_last)
#generate random date to start
haircut_date = sample(seq(as.Date('2018/01/01'), as.Date('2019/01/01'), by="day"), 1)
#generate new dates
haircut_date2=haircut_date + days_since_last[1]
haircut_date3=haircut_date2 + days_since_last[2]
haircut_date4=haircut_date3 + days_since_last[4]
haircut_date5=haircut_date4 + days_since_last[4]
haircut_date6=haircut_date4 + days_since_last[5]
#combine dates
date = c(haircut_date2,haircut_date3,haircut_date4,haircut_date5,haircut_date6)
#add dates to generated intervals in a dataframe
haircut_df=data.frame(days_since_last,date)
答案 0 :(得分:1)
稍有变化,在您的class ListCreateProjectView(APIView):
"""
POST admin/_proj_/
: create a project
"""
def post(self, request, format=None):
serializer = ProjectSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(data=serializer.data)
else:
return Response(data=serializer.errors)
行之后创建数据框:
haircut_date = sample...
结果:
haircut_df <- data.frame(days_since_last = c(0,days_since_last),
date = c(haircut_date, haircut_date + cumsum(days_since_last)))
答案 1 :(得分:0)
这应该给您您想要的东西,
#load the library for skewed normal generation
library(fGarch)
#set observations and generate data
n=10
set.seed(1)
days_since_last=as.integer(rsnorm(n, mean = 35, sd = 5, xi = 2))
# Creating a variable for cumulative days since the first haircut
cumulative<-cumsum(days_since_last)
#generate random date to start
haircut_date = sample(seq(as.Date('2018/01/01'), as.Date('2019/01/01'), by="day"), 1)
#initializing variable and looping for n
haircut_dates<-as.Date(x = integer(0), origin = "1970-01-01")
for (i in 1:n)
{
haircut_dates[i]<-haircut_date+cumulative[i]
}
#add dates to generated intervals in a dataframe
haircut_df=data.frame(haircut_dates,days_since_last)