全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
11479 11
2011-12-14
下面代码在运行的时候说找不到prob2,是不是应该事先定义,但不不知道如何定义?
prob1<-scan()
1 2 50 3.2
1 3 45 3.5
1 4 40 2.8
2 4 50 3.5
2 5 46 3.6
2 7 48 3.2
3 8 51 4.6
3 9 5  5.2
3 10 48 5.9

dim(prob1)<-c(4,9)
prob1<-t(prob1)
colnames(prob1)<-c("id","time","wt","dv")
prob1
prob1<-as.data.frame(prob1)
mindv<-aggregate(x=prob1[,c("dv")],by=list(prob1$id),FUN=min)
mindv

i<-numeric()
for(i in 1:length(mindv$x)){
j<-which(prob1$dv==mindv$x[i])
prob2[i,]<-prob1[j,]
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-14 13:54:16
我只会定义excel
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-15 00:37:38
prob2需要先定义,因为第一次出现R不知道prob2[i,]是什么,你得先告诉R,prob2是个矩阵,看程序的意思,prob2应该和prob1是相同维度的矩阵,你的prob1是9*4的吧?那就把prob2也定义成9*4的吧。
另外i<-numeric()这句话没有用,可以去掉。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-15 04:55:49
prob2 <- NULL
for(i in 1:length(mindv$x)){
j<-which(prob1$dv==mindv$x[i])
prob2 <- rbind(prob2, prob1[j,])
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-15 08:35:00
做成外部文件,然后读取
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-15 09:48:17
zippo414 发表于 2011-12-15 00:37
prob2需要先定义,因为第一次出现R不知道prob2是什么,你得先告诉R,prob2是个矩阵,看程序的意思,prob2应 ...
首先谢谢你的热心帮助!但我的问题还没用解决。我要的结果是在prob1中提取出与mindv中dv相等的各行数据,即
id time wt  dv
1  1    2 50 3.2
3  1    4 40 2.8
6  2    7 48 3.2
7  3    8 51 4.6
我按你说法定义prob2<-matrix(,nrow=4,ncol=4),但是得不到我想要结果,可能是循环那出了问题,望指教!多谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群