从R中的用户推文位置矩阵创建起点-目标矩阵

时间:2019-07-10 18:31:38

标签: r

我有一个名为userLocationsDF的数据框。行名是每个用户的ID,每列代表一天。尽管许多单元格都具有NA值,但确实具有数据的单元格代表当天用户的位置。

我想为所有用户创建一个起点-目的地矩阵,并且可以更改选择哪几天(1-15)。

我尝试了此处描述的方法:Creating origin-destination matrices with R

使用此方法,我可以在两天之内得到一个to-to数据框,该数据框可以用作这两天的O-D表。但是,我希望包括所有15天。这是我最终更改的代码,它可能会产生一个to-from数据框,每行代表ID在2天之间的位置变化:

spl <- split(userLocationsDF, row.names(userLocationsDF)) 

move.spl <- lapply(spl, function(x) {
  ret <- data.frame(from=head(x$X8), to=tail(x$X9),
                    stringsAsFactors=FALSE)
  ret[ret$from != ret$to,]
})
(moves <- do.call(rbind, move.spl))

这里是与我具有相同格式的示例数据框。我知道这不是很有效。我是编码新手。

naMatrix<-matrix(nrow=3, ncol=3)
sampleDF<-data.frame(naMatrix, row.names=c("123","456","789"))
colnames(sampleDF)=c("L1", "L2", "L3")
sampleDF$L1<-sample(paste(rep("city",3),1:5, sep=""),3,T)
sampleDF$L2<-sample(paste(rep("city",3),1:5, sep=""),3,T)
sampleDF$L3<-sample(paste(rep("city",3),1:5, sep=""),3,T)

我的数据中有很多NA值。 原谅我缺乏编码经验。 R对我来说是艰难的旅程。

0 个答案:

没有答案