Confused by warning when using the “dot dot prefix” (..) in data.table









up vote
2
down vote

favorite












I want to sum some columns in a data.table, specifying those columns in a variable. I then use the .. prefix (see New Features data.table 1.10.2) to select those columns. However, this results in a Warning:



mdt <- as.data.table(mtcars)
factorsGEN <- c("disp","hp","drat")
# This works but gives the warning below
mdt[ , score := rowSums(mdt[ , ..factorsGEN])]
#Warning message:
# In `[.data.table`(mdt, , ..factorsGEN) :
# Both 'factorsGEN' and '..factorsGEN' exist in calling scope. Please remove
# the '..factorsGEN' variable in calling scope for clarity.

# This does not work, results in error because factorsGEN is not found
mdt[, score := rowSums(mdt[, factorsGEN])]


I get a warning, which I don't remember getting when I first wrote the code, so it may be the result of an update to the data.table code. Could anyone please tell me how to avoid the warning. I can't figure it out.










share|improve this question



















  • 1




    This is an open issue
    – Henrik
    Nov 9 at 14:13






  • 1




    Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
    – Roger Bos
    Nov 9 at 14:26














up vote
2
down vote

favorite












I want to sum some columns in a data.table, specifying those columns in a variable. I then use the .. prefix (see New Features data.table 1.10.2) to select those columns. However, this results in a Warning:



mdt <- as.data.table(mtcars)
factorsGEN <- c("disp","hp","drat")
# This works but gives the warning below
mdt[ , score := rowSums(mdt[ , ..factorsGEN])]
#Warning message:
# In `[.data.table`(mdt, , ..factorsGEN) :
# Both 'factorsGEN' and '..factorsGEN' exist in calling scope. Please remove
# the '..factorsGEN' variable in calling scope for clarity.

# This does not work, results in error because factorsGEN is not found
mdt[, score := rowSums(mdt[, factorsGEN])]


I get a warning, which I don't remember getting when I first wrote the code, so it may be the result of an update to the data.table code. Could anyone please tell me how to avoid the warning. I can't figure it out.










share|improve this question



















  • 1




    This is an open issue
    – Henrik
    Nov 9 at 14:13






  • 1




    Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
    – Roger Bos
    Nov 9 at 14:26












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I want to sum some columns in a data.table, specifying those columns in a variable. I then use the .. prefix (see New Features data.table 1.10.2) to select those columns. However, this results in a Warning:



mdt <- as.data.table(mtcars)
factorsGEN <- c("disp","hp","drat")
# This works but gives the warning below
mdt[ , score := rowSums(mdt[ , ..factorsGEN])]
#Warning message:
# In `[.data.table`(mdt, , ..factorsGEN) :
# Both 'factorsGEN' and '..factorsGEN' exist in calling scope. Please remove
# the '..factorsGEN' variable in calling scope for clarity.

# This does not work, results in error because factorsGEN is not found
mdt[, score := rowSums(mdt[, factorsGEN])]


I get a warning, which I don't remember getting when I first wrote the code, so it may be the result of an update to the data.table code. Could anyone please tell me how to avoid the warning. I can't figure it out.










share|improve this question















I want to sum some columns in a data.table, specifying those columns in a variable. I then use the .. prefix (see New Features data.table 1.10.2) to select those columns. However, this results in a Warning:



mdt <- as.data.table(mtcars)
factorsGEN <- c("disp","hp","drat")
# This works but gives the warning below
mdt[ , score := rowSums(mdt[ , ..factorsGEN])]
#Warning message:
# In `[.data.table`(mdt, , ..factorsGEN) :
# Both 'factorsGEN' and '..factorsGEN' exist in calling scope. Please remove
# the '..factorsGEN' variable in calling scope for clarity.

# This does not work, results in error because factorsGEN is not found
mdt[, score := rowSums(mdt[, factorsGEN])]


I get a warning, which I don't remember getting when I first wrote the code, so it may be the result of an update to the data.table code. Could anyone please tell me how to avoid the warning. I can't figure it out.







r data.table






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago









Henrik

39.4k990107




39.4k990107










asked Nov 9 at 14:04









Roger Bos

384




384







  • 1




    This is an open issue
    – Henrik
    Nov 9 at 14:13






  • 1




    Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
    – Roger Bos
    Nov 9 at 14:26












  • 1




    This is an open issue
    – Henrik
    Nov 9 at 14:13






  • 1




    Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
    – Roger Bos
    Nov 9 at 14:26







1




1




This is an open issue
– Henrik
Nov 9 at 14:13




This is an open issue
– Henrik
Nov 9 at 14:13




1




1




Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
– Roger Bos
Nov 9 at 14:26




Thank you Henrik for pointing that out. I guess I can safely ignore the warnings for now.
– Roger Bos
Nov 9 at 14:26

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53227216%2fconfused-by-warning-when-using-the-dot-dot-prefix-in-data-table%23new-answer', 'question_page');

);

Post as a guest



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53227216%2fconfused-by-warning-when-using-the-dot-dot-prefix-in-data-table%23new-answer', 'question_page');

);

Post as a guest














































































Popular posts from this blog

How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

Syphilis

Darth Vader #20