我有一個data.table,其中有幾個客戶,一些日期值和pay_day值。 pay_day是爲每個客戶長度爲5的一個矢量,它由天數值的如何知道列的值是否是R data.table中另一列值的一部分
我想用pay_day矢量一天是否是pay_day
這裏的一部分,以檢查每天值爲僞數據這個(赦免凌亂的方式來創建數據)也想不出更好的辦法ATM
customers <- c("179288" ,"146506" ,"202287","16207","152979","14421","41395","199103","183467","151902")
mdays <- 1:31
set.seed(1)
data <- sort(rep(customers,100))
days <- sample(mdays,1000,replace=T)
xyz <- cbind(data,days)
x <- vector(length=1000L)
j <- 1
for(i in 1:10){
set.seed(i) ## I wanted diff dates to be picked
m <- sample(mdays,5)
while(j <=100*i){
x[j] <- paste(m,collapse = ",")
j <- j+1
}
}
xyz <- cbind(xyz,x)
require(data.table)
my_data <- setDT(as.data.frame(xyz))
setnames(my_data, c("cust","days","pay_days"))
my_data[,pay:=runif(1000,min = 0,max=10000)]
現在我想每個cust
這發生在pay_days
的pays
的載體。
我嘗試了各種方法,但不能似乎算起來,我最初的想法是創建一個基於一個標誌,如果天pay_days的一個子集,然後採取支付根據標誌 my_data[,ifelse(grepl(days,pay_days),1,0),cust]
這樣做沒有按照我的預期工作。我不想使用本地迴路作爲
實際數據是巨大的。
'錯誤以x [j]的< - 糊(米,塌陷= 「」):對象 'X' 不found' – Deena
糟糕一個我忘了添加'x' – Bg1850