R data.table 删除以 "_nd"结尾的列

标签 r data.table

我在 R 中有一个数据表

我想删除以 结尾的列"_nd" .

我的电话号码:



我要



我想要这个脚本的反面

dt[,.SD, .SDcols = patterns("_nd")] 

感谢您的帮助

最佳答案

我会去做的 :

library(data.table)

dt <- data.table(var1 = 1:10, var1_n = 1:10, var2_n = 1:10)
dt
#     var1 var1_n var2_n
#    <int>  <int>  <int>
# 1:     1      1      1
# 2:     2      2      2
# 3:     3      3      3
# 4:     4      4      4
# 5:     5      5      5
# 6:     6      6      6
# 7:     7      7      7
# 8:     8      8      8
# 9:     9      9      9
# 10:    10     10     10

to_rm <- grep("_n$", names(dt), value = TRUE)
dt[, (to_rm) := NULL]
dt
#     var1
#    <int>
# 1:     1
# 2:     2
# 3:     3
# 4:     4
# 5:     5
# 6:     6
# 7:     7
# 8:     8
# 9:     9
# 10:    10

或者更简单:
dt <- data.table(var1 = 1:10, var1_n = 1:10, var2_n = 1:10)
dt[, .SD, .SDcols = grep("_n$", names(dt), invert = TRUE, value = TRUE)]

这也将起作用:
dt <- data.table(var1 = 1:10, var1_n = 1:10, var2_n = 1:10)
to_keep <- grep("_n$", names(dt), invert = TRUE, value = TRUE)
dt[, ..to_keep]

关于R data.table 删除以 "_nd"结尾的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409698/

相关文章:

R 将非常大的数据表列表合并到一个 data.table 中

r - 在 for 循环中对 data.table 进行子集化较慢且资源匮乏

r - 在 R 中的 data.table 中查找出现多次的值对

r - 方差分析中的对比

r - as.Date.numeric 需要起源于 Linux,而不是 Windows。使固定?

python - 使用 R 数据框、动物园和结果的真实日期进行预测

r - 如何在特定条件下创建等级变量?

r - Lapply to all columns in a data.frame 除了一个并替换R中的数据

r - R : Variable not found in data. 框架中的多元回归

r - 您是否将 == 和 != 重新分配给 isTRUE( all.equal() )?