我想用数据帧中的数据初始化R中的bucket_列表。假设我得到了以下数据:
buckets <- data.frame( text=c("A","A","B"), labels=c(1,2,3) )
然后我想实现以下bucket_列表:
library(sortable) bucket_list( header="Test" ,add_rank_list(text = "A",labels = c(1,2)) ,add_rank_list(text = "B",labels = c(1) ) )
我的问题是数据帧的内容 是动态的,所以我需要一个采用数据帧的解决方案 水桶
非常感谢您的帮助!
您可以将data.frame转换为分组列表。然后,使用 lapply 对于每组和 add_rank_list 将每个列表元素转换为 bucket_list
lapply
add_rank_list
bucket_list
library(sortable) buckets <- data.frame( text=c("A","A","B"), labels=c(1,2,3) ) blst <- split(buckets$labels, buckets$text) rlst <- lapply(names(blst), function(x) { add_rank_list( text = x, label = blst[[x]] ) }) do.call(bucket_list, c(header = "New Test Here", rlst))