数据帧R中的事件计数
我想统计数据框内的事件,其中100个用户有100行,用户ID有5列,所有已执行事件和thress事件分别出现。 对于每个用户,我希望在第3列到第5列中分别计算事件,这些事件在第2列中以“”列出,并用逗号分隔(例如(c(“笔划”、“鼠标单击k1”、“鼠标单击k2”)) 我的代码如下所示:数据帧R中的事件计数,r,dataframe,count,R,Dataframe,Count,我想统计数据框内的事件,其中100个用户有100行,用户ID有5列,所有已执行事件和thress事件分别出现。 对于每个用户,我希望在第3列到第5列中分别计算事件,这些事件在第2列中以“”列出,并用逗号分隔(例如(c(“笔划”、“鼠标单击k1”、“鼠标单击k2”)) 我的代码如下所示: frame <- data.frame(matrix(ncol = 5, nrow = length(my.data))) x <-c("user","eventsall","mouseclick
frame <- data.frame(matrix(ncol = 5, nrow = length(my.data)))
x <-c("user","eventsall","mouseclick1","mouseclick2","stroke")
colnames(frame) <- x
frame$user <- c(1:length(my.data))
frame$eventsall <- as.character(frame$workflow)
frame$mouseclick1 <- ?????
frame$mouseclick2 <- ?????
frame$stroke <- ?????
frame您可以使用strsplit
拆分逗号分隔的字符串,然后循环遍历数据的每一行
# Sample data since none was provided
frame <- data.frame(user=c(1:5),
eventsall=c('1,2,3',
'3,4,6',
'5,3,2',
'7,4,5',
'6,6,5'))
frame$eventsall <- as.character(frame$eventsall)
events.split <- strsplit(frame$eventsall,',')
for(i in 1:nrow(frame)){
frame$mouseclick1[i] <- events.split[[i]][1]
frame$mouseclick2[i] <- events.split[[i]][2]
frame$stroke[i] <- events.split[[i]][3]
}
#由于未提供示例数据
框架请提供一些数据,我们可以使用这些数据设计答案。请参阅。
# Sample data since none was provided
frame <- data.frame(user=c(1:5),
eventsall=c('1,2,3',
'3,4,6',
'5,3,2',
'7,4,5',
'6,6,5'))
frame$eventsall <- as.character(frame$eventsall)
events.split <- strsplit(frame$eventsall,',')
for(i in 1:nrow(frame)){
frame$mouseclick1[i] <- events.split[[i]][1]
frame$mouseclick2[i] <- events.split[[i]][2]
frame$stroke[i] <- events.split[[i]][3]
}