#
Minimal reproducible example
λ²μ 1.11.8μ λΉν΄ λ²μ 1.12.0μμ data.table
μ νκ·κ° μλ€κ³ μκ°ν©λλ€. TL;DR
unique.data.table()
μ ꡬνμ΄ λ³κ²½λμκ³ μλ‘μ΄ κ΅¬νμ΄ μ΄μ λͺ©λ‘κ³Ό κ°μ 볡μ‘ν μ νμ μ§μνμ§ μλλ€κ³ μκ°ν©λλ€.
uptasticsearch μ μΌλΆ μ¬μ©μλ λ€μκ³Ό κ°μ μ½λμμ μ€λ₯ λ©μμ§λ₯Ό μμ νλ€κ³ λ³΄κ³ νμ΅λλ€.
forderv(x, by = by, sort = FALSE, retGrp = TRUE) μ€λ₯:
by= (2)μ μ΄ 2λ 'λͺ©λ‘' μ νμ΄λ©° μμ§ μ§μλμ§ μμ΅λλ€.
μ€λ λ°€ μ‘°μ¬ν κ²°κ³Ό λ¬Έμ μ μμΈμ μ°ΎμμΌλ©° λ¬Έμ λ₯Ό μ¬νν μ μμ΅λλ€. unique()
μ λμμ΄ λ³κ²½λμλ€κ³ μκ°νλ©° κ·Έ λ³κ²½μ΄ νκ·λΌκ³ μκ°ν©λλ€.
1.12.0μμ:
someDT <- data.table::data.table(
col1 = 1:2,
col2 = list(list(TRUE, FALSE), list(FALSE, TRUE))
)
unique(someDT)
μ€λ₯ λ°μ
forderv(x, by = by, sort = FALSE, retGrp = TRUE) μ€λ₯:
by= (2)μ μ΄ 2λ 'λͺ©λ‘' μ νμ΄λ©° μμ§ μ§μλμ§ μμ΅λλ€.
μ΄μ 릴리μ€λ‘ λ€μ΄κ·Έλ μ΄λνκΈ° μν΄ λͺ λ Ήμ€μμ λ€μμ μ€ννμ΅λλ€.
Rscript -e "remove.packages('data.table')"
wget http://cran.rstudio.com/src/contrib/Archive/data.table/data.table_1.11.8.tar.gz
R CMD INSTALL data.table_1.11.8.tar.gz
v 1.11.8μ μ€μΉν ν μμ R μ½λλ₯Ό λ€μ μ€ννμ΅λλ€.
someDT <- data.table::data.table(
col1 = 1:2,
col2 = list(list(TRUE, FALSE), list(FALSE, TRUE))
)
unique(someDT)
μμλλ‘ μλνκ³ λ€μμ λ°νν©λλ€.
col1 col2
1: 1 <list>
2: 2 <list>
κ·Έλμ λλ unique.data.table() μ λν λΉλμΌλ‘ κ°μ 무μμ΄ . λ³κ²½λμμ΅λλ€. 1.11.8κ³Ό νμ¬ μ¬μ΄μ μ€μ§μ μΈ λ³κ²½ μ¬νμ΄ μλ κ² κ°μμ forderv()
μ λν λΉλμ μ΄ν΄λ³΄κΈ°λ‘ νμ΅λλ€.
forderv()μ λν λΉλ μμλ μλ―Έ μλ κ²μ λ³΄μ§ λͺ»νμ΅λλ€.
λλ ν κ°μ§ λ μλνκΈ°λ‘ κ²°μ νμ΅λλ€... "μμ§ μ§μλμ§ μμ"(μ€λ₯ λ©μμ§μμ) ν
μ€νΈλ₯Ό κ²μν©λλ€. κ·Έκ²μ λλ₯Ό forder.c
λ‘ μ΄λμκ³ , κ·Έμ λΉλμ λλ₯Ό #3124λ‘ μ΄λμμ΅λλ€.
λ΄κ° λ§ν μ μλ ν, μ΄ PRμ΄ μ λ¬Έμ μ μμΈμ
λλ€. PRμ λν μ€λͺ
μ΄ μμΌλ―λ‘ μ΄κ²μ΄ μλνμ§ μμ λΆμμ©μΈμ§ μλλ©΄ data.table
μ ν₯ν 릴리μ€μμ μμ λ μλ €μ§ νκ·μΈμ§ νμ€νμ§ μμ΅λλ€.
#
Output of sessionInfo()
R λ²μ 3.5.0(2018-04-23)
νλ«νΌ: x86_64-apple-darwin15.6.0(64λΉνΈ)
μ€ν: macOS High Sierra 10.13.6
맀νΈλ¦μ€ μ ν: κΈ°λ³Έ
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
μ₯μ:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
첨λΆλ κΈ°λ³Έ ν¨ν€μ§:
[1] ν΅κ³ κ·Έλν½ grDevices utils λ°μ΄ν° μΈνΈ λ°©λ² κΈ°λ°
λ€μμ€νμ΄μ€λ₯Ό ν΅ν΄ λ‘λλ¨(μ°κ²°λμ§ μμ):
[1] μ»΄νμΌλ¬_3.5.0 λꡬ_3.5.0 yaml_2.2.0 λ°μ΄ν°.ν
μ΄λΈ_1.12.0
κΌΌκΌΌν μ 보 κ°μ¬ν©λλ€!
@jameslamb κ°μ¬ν©λλ€! 1.11.8μμ list
μ΄ μ΄μ μ κ³ μ μ±μ΄ ν΄κ²°λμ§ μμΌλ©΄ μ€λ₯κ° λ°μν©λλ€.
# with data.table 1.11.8 :
DT = data.table(
col1 = c(1,1),
col2 = list(list(TRUE, FALSE), list(FALSE, TRUE))
)
unique(DT)
Error in forderv(x, by = by, sort = FALSE, retGrp = TRUE) :
Column 2 of 'by' (2) is type 'list', not yet supported
κ·Έ μμμ λλ col1
λ₯Ό μ€λ³΅μ ν¬ν¨νλλ‘ λ³κ²½νμ΅λλ€. κ·Έλμ col2
λ κ³ μ μ±μ κ²°μ νλ λ° νμν©λλ€.
v1.12.0+λ μκ³ λ¦¬μ¦μ μμνκΈ° μ μ λͺ¨λ μ΄μ μ νμ λ¨Όμ νμΈν©λλ€. μ΄ κ²μ¬λ₯Ό 미리 μννλ©΄ λ³λ ¬ μ²λ¦¬λ₯Ό μν΄ λ΄λΆμ μΌλ‘ μμ μ΄ λ μ¬μμ§λλ€.
μλνκ² νκ³ list
by=
μΈμλ₯Ό μ¬μ©νμ¬ (μλ§λ) μ²μ λͺ κ°μ μ΄μ μ§μ νμμμ€. list
μ΄μ λν uniqueλ μ΄μ¨λ μλνμ§ μμμΌλ―λ‘ λμ€μ list
μ΄ μλ νλͺ©μμ μ€λ³΅μ΄ λ°μν λ μ€λ₯μ κ°μκΈ° λλΌλ κ²λ³΄λ€ λͺ
μμ μΌλ‘ κ°μ νλ κ²μ΄ λ λμ κ²μ΄λΌκ³ μκ°ν©λλ€.
> unique(DT, by="col1")
col1 col2
1: 1 <list>
>
NEWSμ λκ°λ₯Ό μΆκ°νκ³ μ€λ₯ λ©μμ§μ μ μμ μΆκ°νκ² μ΅λλ€ ...
@mattdowle μ, μκ² μ΅λλ€! μ΄ν΄λ³΄κ³ μ€λ₯ λ©μμ§λ₯Ό λͺ νν ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
κΌΌκΌΌν μ 보 κ°μ¬ν©λλ€!