在数据框架中聚类1个列



我有数据框架

data1<- read.csv("book1.csv", header= TRUE)
head(data1)
  product    cost
1 Product1    50
2 Product2  1390
3 Product3    50
4 Product4   485
5 Product5   325
6 Product6   515

我将为成本列进行聚类以获得3个集群:高,中,低点:

high = 500 - 2000medium = 100 - 499Low = 0 - 99

然后我得到

   product    cost
1 Product1    Low
2 Product2    High
3 Product3    Low
4 Product4   medium 
5 Product5   medium 
6 Product6   high 

我可以在r?

中使用kmeans()函数执行此操作

或另一种方式可以提供帮助?

您想 predefine 阈值(更好),您不做clustering (它是"监督的",没有学到)。

您要求的是简单的如果是语句 ...

您还可以制作索引并匹配值。这将需要更少的代码,并避免编写嵌套的If-Else循环。说,df是您的数据框架:

# generate indexes
i1 <- df$cost %in% seq(0,99)
i2 <- df$cost %in% seq(100,499)
i3 <- df$cost %in% seq(500,2000)
df$cost <- c('Low','medium','High')[i1+2*i2+3*i3]
    product   cost
1: Product1    Low
2: Product2   High
3: Product3    Low
4: Product4 medium
5: Product5 medium
6: Product6   High

最新更新