簡體   English   中英

有沒有什么方法可以從 data.table 中選擇一個字符(某些)並且只選擇數字列?

[英]Is there any method to choose one character(certain) and only numeric columns from data.table?

必須從數據庫中選擇特定字符列(emp_name)和僅數字列。 我試過了。SDcols function,但我想不通。 這是data.table

emp.data <- 數據表(

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 = 假)

我們可以在 .SDcols 中使用.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM