r语言 - 是否有任何方法来选择一个字符(某些),只有数字列从data.table?



必须从数据库中选择特定的字符列(emp_name)和仅数字列。我尝试了。sdcols的功能,但我无法理解。下面是data.table

emp。- Data .table(

)emp_id = c (1:5),

emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),

工资= c (623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c("2012-01-01"; "2013-09-23";2014-11-15";2014-05-11";"2015 - 03 - 27")),

stringsAsFactors = FALSE)

我们可以在.SDcols中使用一个函数

emp.data[, .SD, .SDcols = function(x) is.numeric(x)|is.character(x)]

与产出

emp_id emp_name salary
1:      1     Rick 623.30
2:      2      Dan 515.20
3:      3 Michelle 611.00
4:      4     Ryan 729.00
5:      5     Gary 843.25

或者也可以使用

emp.data[, c(.(emp_name = emp_name),.SD), .SDcols = is.numeric]

与产出

emp_name emp_id salary
1:     Rick      1 623.30
2:      Dan      2 515.20
3: Michelle      3 611.00
4:     Ryan      4 729.00
5:     Gary      5 843.25

或者作为唯一删除的列是Date,我们也可以否定(!)

emp.data[, .SD, .SDcols = !is_date]
emp_id emp_name salary
1:      1     Rick 623.30
2:      2      Dan 515.20
3:      3 Michelle 611.00
4:      4     Ryan 729.00
5:      5     Gary 843.25

最新更新