Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据帧R中的事件计数_R_Dataframe_Count - Fatal编程技术网

数据帧R中的事件计数

数据帧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

我想统计数据框内的事件,其中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","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]
}