columns selection error

Open
#1,987 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
r
Domain
data

Research direction

Reproduce the reported data.table examples using dynamic column selection with paste(...), .SDcols, with=F, and conditional assignment. Compare the successful and failing forms, then define the expected behavior and add regression coverage for the incorrect-subscript or unused-argument error.

Written by the indexing model from the issue text.

Description

programming

hi all,
There is a problem to select columns. Suppose we have a data.table t <- data.table(a1 = c(1, 2), a2 = c(3, 4), a3= c(5, 6)). I can get same result by using t[,c("a1","a2","a3")] or t[,paste("a",1:3,sep = "")]. When doing dynamic selection, the thing is different. By using t[,paste("a",1:l,sep = "")] where l=3, only result can be got is "a1" "a2" "a3". To solve this, t[,paste("a",1:l,sep = ""),with=F] works fine. But it cause error when using t[, paste("a", 1:3, sep = "")][t[, .SD > 3, .SDcols = paste("a", 1:3, sep = "")]]<-1 which assigns 1 to irregular position with condition that element is larger than 3. The error is "incorrect number of subscripts on matrix" or "unused argument (with = F)" depends on where with=F is used.The version of data.table is 1.10.0.
Any suggestions?
Best
Xiaotong

Dominant language
R
Stars
3.9k
Forks
1.1k
Avg merge
14h 4m
Merged PRs (30d)
4

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Rdatatable/data.table

All issues in Rdatatable/data.table

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.