Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中创建列以记录上升日期_R_Function - Fatal编程技术网

在r中创建列以记录上升日期

在r中创建列以记录上升日期,r,function,R,Function,我有一个数据集: Date Customer ID Customer Delivery City Category 31/12/2015 14057267 a NewCity Software - System Infrastructure 31/12/2015 14057267 a NewCity Software - Information/Data Management 31/12/2015 14057267 a NewCity Soft

我有一个数据集:

Date    Customer ID Customer    Delivery City   Category
31/12/2015  14057267    a   NewCity Software - System Infrastructure
31/12/2015  14057267    a   NewCity Software - Information/Data Management
31/12/2015  14057267    a   NewCity Software - Information/Data Management
31/12/2015  14057267    b   NewCity Software - Information/Data Management
31/12/2015  14057267    b   OldCity Software - Information/Data Management
31/12/2015  14057267    c   OldCity Software - Information/Data Management
31/12/2015  14057267    c   OldCity Software - Information/Data Management
我想根据日期创建新列,因此如果最大日期为31。我需要与天数一样多的列。根据日期列中的日期,这些列将有0或1个值,例如,如果日期为01,则
X_1=1
&剩余31天列X_2。。。X31=0。我想用类似的方法对客户名称进行二值化,比如X_a,X_b,X_c,它们的值也将为0和1

有人能帮忙吗?

以下内容如何(仅在数据框中显示了两列):

#初始数据帧
头部(df)
#日期客户
#2015年12月1日b
#2015年12月2日
#2015年3月12日a
#2015年12月4日b
#2015年5月12日b
#2015年6月12日b

df$X您能提供您的数据样本(
dput(head(your_data))
)和预期输出吗?感谢您发送此信息,但我找到了一个简便的方法:for(level in unique(B2B_data$Day)){B2B_data[粘贴(“Day”,level,sep=“”)]
# initial dataframe
head(df)
#  Date       Customer 
#1 01/12/2015        b
#2 02/12/2015        c
#3 03/12/2015        a
#4 04/12/2015        b
#5 05/12/2015        b
#6 06/12/2015        b

df$X <- substring(as.character(df$Date), 1, 2)
df <- cbind.data.frame(df, model.matrix(~X-1, df))[-3]

# final dataframe
head(df)
#  Date       Customer X01 X02 X03 X04 X05 X06 X07 X08 X09 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30 X31
#1 01/12/2015        c   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
#2 02/12/2015        a   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
#3 03/12/2015        a   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
#4 04/12/2015        b   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
#5 05/12/2015        c   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
#6 06/12/2015        a   0   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0