μ΄κ²μ λ΄κ° νμ νκΈ° μ μ μμ§λ§ λ¬Έμ λλ SO κ²μλ¬Όμ μ°Ύμ μ μμ΅λλ€. λꡬλ μ§ κΈ°μ΅νκ±°λ λ§ν¬κ° μμ΅λκΉ? " .I
λ λ¬Έμμ λ°λΌ κ·Έλ£Ήνμ μ¬μ©νκΈ°μν κ²μ΄μ§λ§ λΉ κ·Έλ£Ήνλ‘ νμ₯νλ κ²μ΄ μ’μ΅λλ€."μ κ°μ΄ λκ΅°κ°μκ² λ΅μ₯ ν κ²μ κΈ°μ΅νλ κ² κ°μ΅λλ€. man νμ΄μ§ μλ .I
λν "while grouping"μ΄λΌλ λ¨μ΄κ° μ¬μ ν ν¬ν¨λμ΄ μμ΅λλ€.
v1.10.4-3 λ° dev λͺ¨λμ νμ¬ λμ :
> X = data.table(c("a","a","b","c","c"), 10:14)
> setkey(X,V1)
> X["b"]
V1 V2
1: b 12 # ok
> X["b", .I]
[1] 1 # expected x's row number 3 (*1)
> X["b", .I, by=.EACHI]
V1 I
1: b 3 # ok
> X["b", .(.I,V2)]
I V2
1: 1 12 # expected x's row number 3 not 1 (*2)
> X["b", .(.I,V2), by=.EACHI]
V1 I V2
1: b 3 12 # ok
>
μ΄μ which=TRUE
κ° μλλμμΌλ©° 첫 λ²μ§Έ κ²½μ° (* 1)μμ μλν©λλ€.
> X["b", which=TRUE]
[1] 3
κ·Έλ¬λ xμ ν λ²νΈλ₯Ό λ¨Όμ μ΄λ‘ λͺ
μ μ μΌλ‘ μΆκ°νμ§ μλ ν j
( 2) μμ xμ ν λ²νΈλ₯Ό ν¬ν¨νλ κ·Έκ²μμμν μ’μ κ²μ
λλ€ .I
κ° λ¬΄μμν΄μΌ νλμ§λ₯Ό which=TRUE
κ°λ¨ν κ²½μ° (1)μμμ μ΄μ©λ©΄ μ²μ²ν λ μ΄μ μ¬μ© which=TRUE
λ΄ μκ° μ μ¬λλ€μ΄ λλ¬νκΈ° λλ¬Έμ μΈμλ₯Ό .I
λ¨Όμ
λꡬλ μ§ κΈ°μ΅νκ±°λ λ§ν¬κ° μμ΅λκΉ?
μλ§λ λΉμ μ΄ μ°Ύκ³ μλ κ² : https://stackoverflow.com/a/34755995/ λ° https://github.com/Rdatatable/data.table/issues/1494 μ λͺ©μ ".I in DT [i, .I]λ by =κ°μμ λ μ΄λ―Έ κ·Έ λμμ κ°μ§κ³ μκΈ° λλ¬Έμ DT [i] "(byμμ΄)κ° μλ DTμ ν λ²νΈλ₯Ό λ°νν΄μΌν©λλ€ ...?
.I λ° by = https://github.com/Rdatatable/data.table/issues/1206 μ λν λ λ€λ₯Έ μ§λ¬Έ
.Iλ₯Ό κΈλ‘λ²μ μ¬μ©ν μ μμΌλ―λ‘ κ·Έλ£Ήννμ§ μκ³ ν λ²νΈλ₯Ό μ¬μ©ν μ μκ³ .iλ₯Ό λ‘컬μ μ¬μ©ν μ μμΌλ―λ‘ κ·Έλ£Ήν λ΄λΆμμλ§ μ¬μ©ν μ μμ΅λκΉ?
Frankκ° μΈκΈ ν @dracodoc μ # 1206μ λλ€.
μ΄ μμ΄λμ΄μ μ 체 μ€λ λκ° μλ€λ κ²μ λͺ°λμ΅λλ€. μ΄κ²μ μ΄κ²μ΄ μ’μ μκ°μ΄λΌλ κ²μ μλ―Έν©λκΉ?
https://github.com/Rdatatable/data.table/issues/539μ μ
dt <- data.table(a=sample(letters, 100, T), b=rnorm(100))
dt[ a=="c", list(.N, .I)]
N .I
1: 4 1
2: 4 2
3: 4 3
4: 4 4
dt[a=="c", list(.N, .I), by=a]
a N .I
1: c 4 54
2: c 4 67
3: c 4 71
4: c 4 86
κ°μ₯ μ μ©ν λκΈ
μ΄ μμ΄λμ΄μ μ 체 μ€λ λκ° μλ€λ κ²μ λͺ°λμ΅λλ€. μ΄κ²μ μ΄κ²μ΄ μ’μ μκ°μ΄λΌλ κ²μ μλ―Έν©λκΉ?