#4196 рд╕реЗ:
рд╕реВрдЪреА рдХреЙрд▓рдо рднрд░рддреЗ рд╕рдордп, rbindlist рдЕрдиреНрдп рд╕рднреА рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рд╣рдЯ рдЬрд╛рддреА рд╣реИ, рдФрд░ NA рдХреЗ рдмрдЬрд╛рдп NULL рддрддреНрд╡ рд▓реМрдЯрд╛рддреА рд╣реИ:
> A = data.table(c1=0, c2=list(1:3))
> B = data.table(c1=1)
> rbind(A,B,fill=TRUE)
c1 c2
<num> <list>
1: 0 1,2,3
2: 1
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрдирд╛:
> A = data.table(c1=0, c2=list(1:3))
> B = data.table(c1=1)
> rbind(A,B,fill=TRUE)
c1 c2
<num> <list>
1: 0 1,2,3
2: 1 NA
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрдиреНрдп рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП fill=TRUE рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирдП рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЕрдЧрд░ рд╣рдо рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдкреАрдЖрд░ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореБрдЭреЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред
> str(as.integer(NULL)[1L])
int NA
> str(as.list(NULL)[1L])
List of 1
$ : NULL
IMO рдпрд╣ NA рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐:
рдореИрдВ рдЬрдирд╡рд░реА рдХреА рдмрд╛рдд рдХреА рдУрд░ рдЭреБрдХ рд░рд╣рд╛ рд╣реВрдБред рдЦрд╛рд▓реА рддрддреНрд╡ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реВрдЪреА рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ (рдЗрд╕ рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ)ред рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕реВрдЪреА рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╡реЗрдХреНрдЯрд░ рдерд╛, рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреБрдЫ рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдерд╛ред рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ: рд▓рдВрдмрд╛рдИ 0 рддрд╛рд░реНрдХрд┐рдХ, рд▓рдВрдмрд╛рдИ 1 NA рддрд╛рд░реНрдХрд┐рдХ, рдФрд░ рд▓рд╛рдкрддрд╛ рдЧрдгрдирд╛ред рдпрджрд┐ рд▓рдВрдмрд╛рдИ 1 NA рддрд╛рд░реНрдХрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд╛рдкрддрд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЙрди 2 рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред
рдХреНрдпрд╛ рдкреНрд░рд┐рдВрдЯ рдкрджреНрдзрддрд┐ рдХреЛ рдмрджрд▓рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛? рдореБрджреНрд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, NULL
рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдореБрджреНрд░рдг NA
рдлрд┐рд░ рд╕реЗ рд▓рдВрдмрд╛рдИ 1 NA рддрд╛рд░реНрдХрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ NULL
рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛, рдЬреЛ рд░рд┐рдХреНрдд рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ R рдкреНрд░рд┐рдВрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛, рдФрд░ рдПрдХ рдФрд░ рджреГрд╢реНрдп рдЕрдиреБрд╕реНрдорд╛рд░рдХ рджреЗрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕реВрдЪреА рдереА рд╕реНрддрдВрднред
рдЬрдирд╡рд░реА рд╕реЗ рднреА рд╕рд╣рдордд рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рдВрдмрд╛рдИ 0 -> рд▓рдВрдмрд╛рдИ 1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ length(x)>0 рдЦрд╛рд▓реА рд╕реВрдЪреА рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫред
рд╣рдо рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд▓реЙрдЬрд┐рдХрд▓() рдбрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдиреНрдпреВрд▓ рдкрд░ рд▓реЙрдЬрд┐рдХрд▓() рдХрд╛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рд╣реИ?
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд▓рд╛рдкрддрд╛ рд╕реВрдЪреА рдХреЙрд▓рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдиреЛрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд╛рдХреНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рднрд░рдг рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐:
TRUE рд▓рд╛рдкрддрд╛ рдХреЙрд▓рдо рдХреЛ NA рд╕реЗ рднрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ FALSE. рдЬрдм TRUE, use.names TRUE рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд:
TRUE рд▓рд╛рдкрддрд╛ рдХреЙрд▓рдо рдХреЛ NA рд╕реЗ рднрд░рддрд╛ рд╣реИ, рдпрд╛ NULL рдХреЗ рд╕рд╛рде рд▓рд╛рдкрддрд╛ рд╕реВрдЪреА рдХреЙрд▓рдо рдХреЛ рднрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ FALSE. рдЬрдм TRUE, use.names TRUE рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
рдбреЙрдХреНрдЯрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╕рд╛рде рд╣реА рдкреНрд░рд┐рдВрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдореИрдВрдиреЗ рднреА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд▓рд╛рдкрддрд╛ рд╕реВрдЪреА рдХреЙрд▓рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдиреЛрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд╛рдХреНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рднрд░рдг рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐:
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд: