• R语言
  • 用dplyr包对数据分组并进行kmeans方法分类

假设有这样一组数据d:
[data] x y
1 a 1
2 a 2
3 a 3
4 b 4
5 b 5
6 b 6[/data]
我要对其按照x中的a、b分组并分别进行kmeans方法聚类。使用dplyr包:
d %>% group_by(x) %>% mutate(c = kmeans(.$y, centers = 2)$cluster)
运行后得到一个错误提示:Error: unexpected symbol in "d %>% group_by(x) mutate"。
如果不进行分组,整个数据直接惊醒聚类:
d %>% mutate(z = kmeans(.$y, centers = 2)$cluster)
得到如下结果:
[data]
x y z
1 a 1 1
2 a 2 1
3 a 3 1
4 b 4 2
5 b 5 2
6 b 6 2
[/data]
想问一下,分组进行聚类的代码有什么错误?
粘贴错误,分组进行聚类的错误改正如下:
incompatible size (%d), expecting %d (the group size) or 1