我有以下数据样本
X <- c("11/12/2016", "12/12/2016", "13/12/2016","14/12/2016","15/12/2016","16/12/2016", "17/12/2016")
Y <- c("11/12/2016", "13/12/2016", "14/12/2016", "18/12/2016")
Run Code Online (Sandbox Code Playgroud)
我想要的输出是这样的
X Y
11/12/2016 11/12/2016
12/12/2016 NA
13/12/2016 13/12/2016
14/12/2016 14/12/2016
15/12/2016 NA
16/12/2016 NA
17/12/2016 NA
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但没有得到所需的输出
> X <- as.Date(data$X)
> Y <- as.Date(data$Y)
> Z <- NA
> for (i in 1:length(X)) {
+ if(X[i] == Y){
+ Z <- Y}
+ else NA }
Run Code Online (Sandbox Code Playgroud)
试试这个:
> X <- c("11/12/2016", "12/12/2016", "13/12/2016","14/12/2016","15/12/2016","16/12/2016", "17/12/2016")
> Y <- c("11/12/2016", "13/12/2016", "14/12/2016", "18/12/2016")
Run Code Online (Sandbox Code Playgroud)
> Z<-rep(NA,length(X))
> Z[which(X %in% Y)]<-X[which(X %in% Y)]
> Z
[1] "11/12/2016" NA "13/12/2016" "14/12/2016" NA NA NA
Run Code Online (Sandbox Code Playgroud)
> data.frame(X,Y=Z)
X Y
1 11/12/2016 11/12/2016
2 12/12/2016 <NA>
3 13/12/2016 13/12/2016
4 14/12/2016 14/12/2016
5 15/12/2016 <NA>
6 16/12/2016 <NA>
7 17/12/2016 <NA>
Run Code Online (Sandbox Code Playgroud)