Re: [程式] 請教R程式
※ 引述《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(0,dim(data)[1]) )
index <- data2[,1]>7
tmp <- data2[index,]
tmp[,4] <- tmp[,3] %in% min(tmp[,3])
data2[index,] <- tmp
result <- which(as.logical(data2[,4]))
---------------------------------------------------------
這樣就可以了
剛剛趕著去上課來不及測....
and
which.min() 這個函式有 bug , 沒事不要亂用
e.g.
你可以試一下下面這行的結果是甚麼
which.min(c(1,2,1))
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.239.247
※ 編輯: gsuper 來自: 140.113.239.247 (03/08 17:33)
※ 編輯: gsuper 來自: 140.113.239.247 (03/08 17:45)
推
03/09 12:58, , 1F
03/09 12:58, 1F
討論串 (同標題文章)