我想计算每个用户的平均点赞和分享次数。目前,我正在尝试通过将所有数据导入R然后进行计算-如果您有其他方法,我很乐意试试看。
我有40,000个txt文件。每个txt文件代表一个用户,包括每个帖子,喜欢和分享的内容,例如
file Text likes shares
user1.txt exampletext 1 13 5
exampletext 2 1 0
user2.txt othertext1 192 0
othertext2 11 18
othertext2 77 5
...
我尝试了两种方法(到目前为止都来自stackoverflow!):
setwd('path')
filelist <- list.files()
res <- rbindlist(lapply(dir(pattern = "\\.txt"), fread))
->快速,但是它不能处理空行,并且确实用文件名标记行条目。如果没有文件名,则无法获得每个用户的平均喜欢和分享。
setwd('path')
filelist <- list.files()
Results <- NULL
for (i in filelist){
i.file <- tryCatch(fread(i,colClasses="NULL", nThread = 4), error=function(e) e)
if(!class(i.file)[1]=="data.table"){
i.file <- data.table(cbind(txt.file=i,is.empty="YES",
message=i.file$message))
} else if(nrow(i.file)==0){
i.file <- data.table(cbind(txt.file=i,is.empty="YES",
message=NA))
} else {
i.file[,txt.file:=i]
i.file[,is.empty:="No"]
}
Results <- rbind(Results,i.file,fill=TRUE)
rm(i.file);gc()
}
->可以运行,但是速度很慢,需要数周才能完成。
有人可以帮忙吗?谢谢!