Во время моего рабочего процесса я часто делаю копию основного data.frame/data.table, над которой я выполняю некоторые аспекты работы, а затем некоторые другие в другой копии, прежде чем присоединиться к ним или что-то еще позже. Однако я часто сталкиваюсь с тем, что эти копии все еще связаны друг с другом. Так что правки, сделанные на одном, также выполняются и на другом. К сожалению, я не могу это воспроизвести, но копипаст с моей консоли выглядит примерно так:
# 'used3' is a copy of 'used' with some altercations to it
c("nLocs","nDays") %in% names(used)
[1] FALSE FALSE
> used3[, nDays :=uniqueN(yDay),c("ID","Year","Season")]
> used3[, nLocs :=.N,c("ID","Year","Season")]
> c("nLocs","nDays") %in% names(used)
[1] TRUE TRUE
Так что изменения, сделанные на копии, также сделаны и на оригинале. Это ошибка? Я называю их слишком похожими именами... или что?
R-версия: 3.3 версия data.table: 1.9.6
Но также имеет опыт работы с более старыми версиями как R, так и data.table.
?data.table::copy
- person jbaums   schedule 09.08.2016