比较R中两个列表的每个元素

比较R中两个列表的每个元素,r,list,sapply,R,List,Sapply,我在R中有一个具有以下结构的数据集: data <- structure(list(Cust_ID = c("003", "023", "023", "023", "023", "041", "056", "056"), Record_Date = list(structure(16130, class = "Date"), structure(c(16130, 16130, 16130, 16130), class = "Date"), structure(c(16

我在R中有一个具有以下结构的数据集:

data <- structure(list(Cust_ID = c("003", "023", "023", "023", "023", 
"041", "056", "056"), Record_Date = list(structure(16130, class = "Date"), 
    structure(c(16130, 16130, 16130, 16130), class = "Date"), 
    structure(c(16150, 16150, 16150, 16150), class = "Date"), 
    structure(c(16161, 16161, 16161, 16161), class = "Date"), 
    structure(c(16162, 16162, 16162, 16162), class = "Date"), 
    structure(16133, class = "Date"), structure(c(16088, 16088
    ), class = "Date"), structure(c(16095, 16095), class = "Date")), 
    Compare_Date = list(structure(16130, class = "Date"), structure(c(16130, 
    16150, 16161, 16162), class = "Date"), structure(c(16130, 
    16150, 16161, 16162), class = "Date"), structure(c(16130, 
    16150, 16161, 16162), class = "Date"), structure(c(16130, 
    16150, 16161, 16162), class = "Date"), structure(16133, class = "Date"), 
        structure(c(16088, 16095), class = "Date"), structure(c(16088, 
        16095), class = "Date"))), row.names = c(NA, -8L), class = "data.frame", .Names = c("Cust_ID", 
"Record_Date", "Compare_Date"))

  Cust_ID                Record_Date               Compare_Date
1     003                      16130                      16130
2     023 16130, 16130, 16130, 16130 16130, 16150, 16161, 16162
3     023 16150, 16150, 16150, 16150 16130, 16150, 16161, 16162
4     023 16161, 16161, 16161, 16161 16130, 16150, 16161, 16162
5     023 16162, 16162, 16162, 16162 16130, 16150, 16161, 16162
6     041                      16133                      16133
7     056               16088, 16088               16088, 16095
8     056               16095, 16095               16088, 16095

也许,您正在寻找
mapply
。您可以编辑
mappy
FUN
参数,对每个
RD
CD
参数执行所需操作

mapply
data$Record\u Date
data$Compare\u Date
中的每个元素分别传递到
RD
CD
FUN
参数中

mapply(FUN = function(RD, CD) {
    d <- as.numeric(CD - RD)
    sum(d > 0 & d < 15)
}, RD = data$Record_Date, CD = data$Compare_Date)
## [1] 0 0 2 1 0 0 1 0
mapply(FUN=函数(RD,CD){
d 0&d<15)
},RD=数据$Record\u Date,CD=数据$Compare\u Date)
## [1] 0 0 2 1 0 0 1 0

预期结果是什么?如何进行比较?答案很好!非常感谢@迈克,加汉,如果很好的话,那你应该勾选。对不起……这里有点新手。全部检查完毕
mapply(FUN = function(RD, CD) {
    d <- as.numeric(CD - RD)
    sum(d > 0 & d < 15)
}, RD = data$Record_Date, CD = data$Compare_Date)
## [1] 0 0 2 1 0 0 1 0