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.
r data.table
add a comment |
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.
r data.table
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
add a comment |
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.
r data.table
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
r data.table
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
add a comment |
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
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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