Re: [程式] 請教R程式

看板Statistics作者 (我最討厭人家裝老)時間13年前 (2011/03/08 15:57), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《gsuper (統計的巴比倫塔)》之銘言: : ※ 引述《iterate (碎形)》之銘言: : : [軟體程式類別]: R : : 請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等 : : [程式問題]: 資料處理 : : 資料處理、迴歸、敘述統計、logistic、probit...等 : : [軟體熟悉度]: : : 請把以下不需要的部份刪除 : : 新手(不到1個月) : : [問題敘述]: : : 請詳盡敘述遭遇到的問題,可能的話,分點敘述你要處理的流程 : : 假設有一組資料: : : [,1] [,2] [,3] : : [1,] 8 12 3 : : [2,] 4 5 6 : : [3,] 11 14 10 : : [4,] 9 15 2 : : [5,] 7 1 13 : : 想找出第一行大於7(8、11、9),且在第三行中是最小的(3、10、2)資料 : : 是全部資料的第幾筆資料(4) : : 請問這語法該怎麼表示? : : 目前只知道 which.min(data[,3]) : : 可以找出第三行中最小值出現在第4個位置 : : 但是如果要加上新的條件(第一行要大於7) : : 則語法需要怎麼表示,再請大家幫忙,謝謝 : : [程式範例]: : : 雖然張貼程式很可怕,但基本上有些程式還是要張貼才能解決 : : ----------------------------------------------------------------------------- : data2 <- cbind( data , rep(-1,dim(data)[1]) ) : index <- data2[,1]>7 : tmp <- data2[index,] : tmp[,4] <- tmp[,3] %in% min(tmp[,3]) : data2[index,] <- tmp : result <- which(tmp[,4]) x=matrix(c(8,12, 3, 4, 5, 6,11,14,10, 9,15, 2, 7, 1,13),byrow=T,nrow=5) which(x[,1]>7 & x[,3]==min(x[,3])) 基本上which是解決這種問題很方便的指令 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.80.110

03/08 16:11, , 1F
這樣子, 如果x[which.min(x[,3]),1] < 7的話
03/08 16:11, 1F

03/08 16:11, , 2F
答案可能不是原po想要的
03/08 16:11, 2F
文章代碼(AID): #1DTU5aUI (Statistics)
文章代碼(AID): #1DTU5aUI (Statistics)