数据帧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