6

ここで本当に奇妙なことが起こっています。以下のコードでは、 という変数を作成しますtemp。それが何であるかを見る前に、2回呼び出す必要があります。たとえば、初めて呼び出すと、コンソールには何も表示されません。2 回目はdata.table/data.frameであることを示します。ここで何が起こっているのかを理解してくれる人はいますか?

library(magrittr)
library(data.table)

myDT <- as.data.table(mtcars)


temp <- 
    myDT %>%
    melt(id.vars = c('cyl', 'mpg', 'hp'), 
         measure.vars = c('vs','am','gear','carb'),
         variable.name = 'Data') %>%
    extract( value > 0) %>%
    extract( , value := NULL)

私のコンソールが行っていること (最初の呼び出しは何もしません):

> temp
> temp
    cyl  mpg  hp Data
 1:   4 22.8  93   vs
 2:   6 21.4 110   vs
 3:   6 18.1 105   vs
 4:   4 24.4  62   vs
 5:   4 22.8  95   vs
 ...
 ...
4

1 に答える 1