数据帧R中的群集1列

数据帧R中的群集1列,r,cluster-analysis,k-means,R,Cluster Analysis,K Means,我有数据框 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 我可以用R中的kmeans()函数来实现这一点吗 或者另一种方法可以帮助你 由于您希望预定义阈值(这更好),因此您没有进行聚类

我有数据框

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
我可以用R中的
kmeans()
函数来实现这一点吗

或者另一种方法可以帮助你

由于您希望预定义阈值(这更好),因此您没有进行聚类(它是“监督的”,而不是学习的)


您需要的是一个简单的if-then语句..

您还可以创建索引并匹配值。这将需要更少的代码,并避免编写嵌套的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
#生成索引

i1嘿,Reem,你想用
kmeans
集群做什么?或者在聚类后进行分析?我希望在聚类后进行分析尝试
?ifelse
,或
?cut
。但是如果我使用真实数据作为新数据,如何进行分类?@Reem与
ifelse
cut
。直截了当的
# 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