看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我想把這樣的資料 交易編號 會員卡號 V1 V2 V3 V4 6557 1235 0 0 1 1 6558 1235 1 0 1 0 6559 1235 1 1 1 0 . . . . . 變成條件機率矩陣 V1 V2 V3 V4 V1 .2 .5 .7 V2 .4 .6 V3 .1 V4 [程式範例]: 資料group是8個dataframe組合的list 每個dataframe有14欄 前2欄是id 希望能夠 輸出8個條件機率矩陣組成的list 以下是我的程式碼及錯誤訊息 m <- 12 f <- list(matrix(nrow = m, ncol = m)) cp <- list(matrix(nrow = m, ncol = m)) summation <- list(c()) for(k in 1:length(group)){ group[[k]] <- group[[k]][,-c(1,2)] summation <- apply(group[[k]],2,sum) for(i in 1:(m-1)) { for(j in (i+1):m){ index <- (group[[k]][,i]==1 & group[[k]][,j]==1) f[[k]][i,j] <- length(group[[k]][index,1]) cp[[k]][i,j] <- f[[k]][i,j]/summation[[k]][j] } } } Error in `*tmp*`[[k]] : subscript out of bounds [環境敘述]: Rx64 3.2.5 [關鍵字]: 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.62.66 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1466190784.A.086.html ※ 編輯: mowgur (111.184.62.66), 06/18/2016 03:14:23