R 在列表中存储的数据帧中使用table()创建新的数据帧

R 在列表中存储的数据帧中使用table()创建新的数据帧,r,R,我的数据框架如下: library lubridate eventtime<-c("2020-02-07 22:06:00","2020-02-07 22:00:00","2020-02-07 21:46:00") eventvalue<-c("home","work",'exit') geof<-data.frame(eventtime,eventvalue) 您可以使用lappy: lapply(list1, function(x) table(x$EventHour)

我的数据框架如下:

library lubridate

eventtime<-c("2020-02-07 22:06:00","2020-02-07 22:00:00","2020-02-07 21:46:00")
eventvalue<-c("home","work",'exit')
geof<-data.frame(eventtime,eventvalue)

您可以使用
lappy

lapply(list1, function(x) table(x$EventHour))
#> $exit
#> 21 
#>  1 
#>
#> $home
#> 22 
#>  1 
#>
#> $work
#> 22 
#>  1 

显然,每个数据帧中只有一个条目,所以“表”看起来不像表

您可以使用
lappy

lapply(list1, function(x) table(x$EventHour))
#> $exit
#> 21 
#>  1 
#>
#> $home
#> 22 
#>  1 
#>
#> $work
#> 22 
#>  1 

显然,每个数据帧中只有一个条目,所以“表”看起来不像表

如何保存这些新的数据帧并重命名它们的列?是的,它们只是examples@firmo23您可以选择您想要的名称,例如,
lappy(列表1,函数(x)集合名(如.data.frame(表(x$EventHour)),c(“Hour”,“n”))
。如果您想保存它们,您可以将整个列表保存为RDS,或者使用
do.call(rbind,list1)
将它们转换为一个大数据帧,或者使用
mapply(函数(x)write.csv(x,y),list1,c(“exit.csv”,“home.csv”,“work.csv”)将每个列表保存到csv
谢谢,但我并不打算将它们保存在文件中,而是作为单独的数据帧保存,以备以后使用use@firmo23如果您执行
list2,我如何保存这些新数据帧并重命名它们的列?是的,它们只是examples@firmo23如果需要,可以选择任何名称,例如,
lappy(list1,function(x)setNames(如.data.frame(table(x$EventHour)),c(“Hour”,“n”)))
。如果您想保存它们,可以将整个列表保存为RDS,或者使用
do.call(rbind,list1)
,将它们全部转换为一个大数据帧,或者使用
mapply(函数(x)write.csv(x,y),list1,c(“exit.csv”,“home.csv”,“work.csv”))将它们保存为csv)
谢谢,但我并不打算将它们保存在文件中,而是作为单独的数据帧保存,以备以后使用use@firmo23如果您执行
list2
lapply(list1, function(x) table(x$EventHour))
#> $exit
#> 21 
#>  1 
#>
#> $home
#> 22 
#>  1 
#>
#> $work
#> 22 
#>  1