相关疑难解决方法(0)

如何在data.table中按引用删除行?

我的问题与引用分配和复制分配有关data.table.我想知道是否可以通过引用删除行,类似于

DT[ , someCol := NULL]
Run Code Online (Sandbox Code Playgroud)

我想知道

DT[someRow := NULL, ]
Run Code Online (Sandbox Code Playgroud)

我想有一个很好的理由说明为什么这个功能不存在,所以也许你可以指出一个很好的替代通常的复制方法,如下所示.特别是,从我的例子(data.table)开始,

DT = data.table(x = rep(c("a", "b", "c"), each = 3), y = c(1, 3, 6), v = 1:9)
#      x y v
# [1,] a 1 1
# [2,] a 3 2
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 …
Run Code Online (Sandbox Code Playgroud)

r data.table

144
推荐指数
5
解决办法
5万
查看次数

使用通配符进行模式匹配

如何使用通配符识别字符串?

我发现了glob2rx,但我不太明白如何使用它.我尝试使用以下代码来选择以单词开头的数据框行blue:

# make data frame
a <- data.frame( x =  c('red','blue1','blue2', 'red2'))

# 1
result <- subset(a, x == glob2rx("blue*") )

# 2
test = ls(pattern = glob2rx("blue*"))
result2 <- subset(a, x == test )

# 3
result3 <- subset(a, x == pattern("blue*") )
Run Code Online (Sandbox Code Playgroud)

但是,这些都没有奏效.我不确定我是否应该使用不同的功能来尝试这样做.

r wildcard pattern-matching

37
推荐指数
2
解决办法
9万
查看次数

不使用< - 的子集数据表

我想要对数据表的某些行进行子集化.像这样:

# load data
  data("mtcars")

# convert to data table
  setDT(mtcars,keep.rownames = T)

# Subset data
  mtcars <- mtcars[like(rn,"Mer"),] # or
  mtcars <- mtcars[mpg > 20,]
Run Code Online (Sandbox Code Playgroud)

但是,我正在处理一个庞大的数据集,我想避免使用<-,这不是内存效率,因为它会复制数据.

它是否正确?是否可以在没有更新过滤后的数据<-

r subset data.table

12
推荐指数
1
解决办法
2432
查看次数

标签 统计

r ×3

data.table ×2

pattern-matching ×1

subset ×1

wildcard ×1