一个亲友小群,群等级降到了2级,然后一个小伙伴不辞辛劳地跳出来跟大家唠嗑,想提升群等级。
仔细看了下群等级的规则
机智的我怀疑是群主没给群充值,其他人无法通过入群申请,所以群等级下降了。
证实下自己的猜测,从网上找了个用R分析qq群聊天的代码,涂涂改改
setwd("D://test//")
dt <- read.table("dt.txt",header = FALSE,encoding = "UTF-8",sep="\n")
head(dt)
dt<-as.data.frame(dt)
time<-character(0)
user<-character(0)
message<-character(0)
for(i in 1:dim(dt)[1]){
reglog <- regexpr('[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]+:[0-9]+:[0-9]',dt[i,])
if(reglog[1]==1){
time[i] <- substr(dt[i,],1,19)
user[i] <- substr(dt[i,],21,nchar(as.character(dt[i,])))
}
else
{
message[i] <- dt[i,]
}
}
data<- data.frame(time=time,user=user,message=message[-1])
for(i in 1:dim(data)[1])
if(is.na(data[i,1])){
if(is.na(data[i,2])){
if(is.na(data[i,3])){
data<- data[-i,] } } }
head(data)#查看删掉NA之后的数据
data<-cbind(data[,1:3],date=as.Date(data[,1],format='%Y-%m-%d'))
a<- subset(data,date>=as.Date('2017-04-21',format='%Y-%m-%d'))
a<- subset(a,date<=as.Date('2017-05-22',format='%Y-%m-%d'))
b<- table(a$user)
找出最近30天的记录,然后想distinct一下发言的人数,在sql里面是一句话的事,在R却搞不来
所以复制到excel里面直接distinct了
最后得到的是43
最后我写这篇博客的时候去截图群等级的规则,发现43这个数字就出现在第一行,Orz 折腾那么久,没想到答案就在眼前 ……