>

useridlikeid1과 함께 n 명의 사용자와 m 개의 좋아요를위한좋아요데이터 프레임이 있습니다 :likeidm내 변수로. 특정 사용자 ID는 열 1 (Likes $userid)에 저장되며 사용자가 해당 유사 ID가있는 페이지를 좋아했는지 여부에 따라 셀에 1 또는 0이 포함됩니다.

library(Matrix)
Likes <- data.frame(userid=c("n1","n2"),
                      m1=c(0,1),
                      m2=c(0,0),
                      m3=c(0,0),
                      m4=c(1,0)
                      )
Likes [1,1:5]
  userid       m1          m2          m3          m4
1 n1           0           0           0           1

이제 희소 행렬을 만들고 싶습니다. 다음 코드에서 j를 어떻게 지정합니까? 기술적으로 id와 같은 것은 열에 없지만 이미 데이터 프레임에서 변수로 지정 되었기 때문에 그것이 올바르게 수행되지 않았다는 것을 알고 있습니다.

sM_Likes <- sparseMatrix(Likes, i=likes$userid, j=1,c(2:ncol(Likes)), x=1)

미리 감사합니다 (기본 질문에 사과드립니다).

  • 답변 # 1

    질문에서 설명한 것과 같이 (질문에서 편집 한) 객체를 구성하고 가짜 행을 추가하여 문제를 재현하려고 시도했습니다.

    library(Matrix)
    Likes <- data.frame(userid=c("n1","n2"),
                          m1=c(0,1),
                          m2=c(0,0),
                          m3=c(0,0),
                          m4=c(1,0)
                          )
    
    

    이 코드를 실행하면 다른 오류가 발생했습니다.

    sM_Likes <- sparseMatrix(Likes, i=likes$userid, j=1,c(2:ncol(Likes)), x=1)
    
    

    와이즈 비즈

    이 문제를 일으킨 것으로 생각한 의견에서 이것을 몇 번 언급했습니다. 당신은 당신의

    Error in sparseMatrix(Likes, i = likes$userid, j = 1, c(2:ncol(Likes)), : exactly one of 'i', 'j', or 'p' must be missing from call

    의 사양을 수정  인수하고 이제 작동합니다 :)

    열 이름에 대한 주석에서 후속 질문이 있습니다. 나는 이것이 이것을 해결해야한다고 생각한다 :

    j
    
    

    devtools::install_github("ben519/mltools") require(mltools) dt <- data.table( intCol=c(1L, NA_integer_, 3L, 0L), realCol=c(NA, 2, NA, NA), logCol=c(TRUE, FALSE, TRUE, FALSE), ofCol=factor(c("a", "b", NA, "b"), levels=c("a", "b", "c"), ordered=TRUE), ufCol=factor(c("a", NA, "c", "b"), ordered=FALSE) ) sparsify(dt) sparsify(dt, sparsifyNAs=TRUE) sparsify(dt[, list(realCol)], naCols="identify") sparsify(dt[, list(realCol)], naCols="efficient")

관련 자료

  • 이전 scroll - 슬라이드 정렬시 스위프트 컬렉션 뷰 슬라이드
  • 다음 sql server - T-SQL에서 행을 가변 개수의 열로 변환 할 수 있습니까?