我今天面临新的挑战!我想在我的表格的每一行上单独执行一个kmeans(在我的情况下,这表示每月的天气数据)获得每个点和月的具有簇号的表。
data<-c(
245, 84 , 99 , 161, 249, 190 , 136 , 122 , 157, 128 , 123 , 138 , 106,
246, 84 , 101, 163 , 257, 194 , 138 , 126 , 163, 134 , 127 , 142 , 108,
247, 60 , 80 , 131, 191, 156 , 90 , 82 , 106 , 85 , 86 , 106 , 88,
248, 60 , 80 , 131 , 191, 156, 90 , 82, 106 , 85 , 86 , 106 , 88,
249 , 60 , 80 , 131, 191, 156, 90, 82, 106 , 85 , 86 , 106 , 88,
250 , 58 , 79 , 131, 197, 156, 90, 78, 101 , 84 , 84 , 106 , 88,
251 , 60 , 81 , 135, 210, 163, 91, 82, 107 , 88 , 89 , 108 , 89,
252 , 67 , 86 , 140, 214, 168, 105, 92, 121 , 99 , 99 , 114 , 93,
253, 70 , 89 , 144, 225, 171 , 110, 97, 128 , 105 , 104 , 118 , 94,
254, 70 , 89 , 144, 225, 171, 110, 97, 128 , 105 , 104 , 118 , 94,
255, 62 , 82, 134, 205, 163 , 94, 85, 110 , 88 , 90, 109, 89)
data<-matrix(data, nrow=10,ncol=13,byrow=FALSE)
data<-data.frame(data)
names(data)<-c('ID' ,'January' ,'Febuary', 'March', 'April', 'May' ,'June' ,'July' ,'August' ,'September' ,'October', 'November', 'December')
如您所见,我使用2个群集
kmean<-apply(data[,2:13], 1, function(x) {kmeans(x, 2)})
这很好用,并创建一个包含kmeans报告的列表(也是列表,其中第二个是簇号)
我可以看一下特定行的簇号,比如说第2行
kmean[[2]]$cluster
现在我想得到一个表,它为我的数据帧中的每个观察提供了kmean $ cluster的结果。
所以我尝试了以下内容:
cluster<-apply(kmean, 1, function (y) {kmean[[y]]$cluster})
但后来我收到以下错误: 应用错误(kmean,1,function(y){: dim(X)必须具有正长度
任何建议如何让我的表格显示每行以及每个月观察所属的集群?
非常感谢您对此的看法!凯瑟琳
答案 0 :(得分:1)
curl http://jenkins.yoursite.com/job/{job_name}/api/json/ | jq .r '.builds'