我有三列用于日,月和年,我想用它来制作一个日期列
> dt
mon day year
1: NA NA NA
2: NA NA NA
3: NA NA NA
4: NA NA NA
5: NA NA NA
6: NA NA NA
7: NA NA NA
8: 10 10 2017
9: NA NA NA
10: 4 4 2018
11: NA NA NA
12: NA NA NA
13: NA NA NA
14: NA NA NA
15: NA NA NA
16: NA NA NA
>
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码,它给出了奇怪的结果:
> as.Date(paste(dt$mon,dt$day,dt$year,sep="-"),format = "%m-%d-%y")
[1] NA NA NA …Run Code Online (Sandbox Code Playgroud) 我正在为以下活动创建功能:
library('data.table')
library(dplyr)
T2 <- dcast(test, Q27 ~ Q12_1_TEXT, fun.aggregate = length)
T3<-T2%>% mutate(Q27=as.character(Q27),"Todo el Mercado"=rowSums(T2[,2:ncol(T2)]))
ALL <- as.list( c( Q27 = "Número_de_Respuestas", colSums(T3[, 2:ncol(T3)]) ) )
T3[, 2:ncol(T3)]<- sapply(T3[, 2:ncol(T3)],prop.table)
T3[, 2:ncol(T3)]<- sapply(T3[, 2:ncol(T3)],function(x) paste0(round(x*100,0), "%"))
Tab <- rbindlist(l = list(T3, ALL))
Tab
Run Code Online (Sandbox Code Playgroud)
功能如下:
Single_chile<-function(data,var1,var2){
Tab <- dcast(data, var1 ~ var2, fun.aggregate = length)
Tab1<-Tab%>% mutate(var1=as.character(var1),"Todo el Mercado"=rowSums(Tab[,2:ncol(Tab)]))
ALL <- as.list( c( var1 = "Número_de_Respuestas", colSums(Tab1[, 2:ncol(Tab1)]) ) )
Tab1[, 2:ncol(Tab1)]<- sapply(Tab1[, 2:ncol(Tab1)],prop.table)
Tab1[, 2:ncol(Tab1)]<- sapply(Tab1[, 2:ncol(Tab1)],function(x) paste0(round(x*100,0), "%")) …Run Code Online (Sandbox Code Playgroud)