【发布时间】:2023-03-11 13:07:01
【问题描述】:
我有先验的输出数据框,规则如下:
rules
{A,B} => {C}
{C,A} => {B}
{A,B} => {D}
{A,D} => {B}
{A,B} => {E}
{E,A} => {B}
直到我将每个规则中的项目分组(data.frame 是 df_basket)
rules basket
{A,B} => {C} A,B,C
{C,A} => {B} C,A,B
{A,B} => {D} A,B,D
{A,D} => {B} A,D,B
{A,B} => {E} A,B,E
{E,A} => {B} E,A,B
我希望能够按以下字母顺序订购篮子:
rules basket Group
{A,B} => {C} A,B,C A,B,C
{C,A} => {B} C,A,B A,B,C
{A,B} => {D} A,B,D A,B,D
{A,D} => {B} A,D,B A,B,D
{A,B} => {E} A,B,E A,B,E
{E,A} => {B} E,A,B A,B,E
我使用了下面的代码,它适用于小数据帧并完成了工作。对于大型数据帧,for 循环效率低下。请帮助我在 R 中优化这个原子操作:
for(i in 1:nrow(df_basket))
{
df_basket$Basket[i]<- ifelse(1==1,paste(unlist(strsplit(df_basket$basket[i],","))
[order(unlist(strsplit(df_basket$basket[i],",")))],collapse=","))
}
如果有任何简单或更直接的方法可以获取我的数据框的“组”字段,请告诉我。
【问题讨论】:
-
请以可重复的形式提供您的输入数据,例如使用
dput(head(df_basket))