R 在数据框中仅输出数值变量或分类变量

R 在数据框中仅输出数值变量或分类变量,r,R,我想从“Arrests”中创建两个数据帧,第一个只包括带有数值的变量,另一个只包括分类变量。例如: X <- data.frame(Arrests) X released colour year age sex employed citizen checks 1 Yes White 2002 21 Male Yes Yes 3 2 No Black 1999 17 Male Yes

我想从“Arrests”中创建两个数据帧,第一个只包括带有数值的变量,另一个只包括分类变量。例如:

X <- data.frame(Arrests)  
X
     released colour year age    sex employed citizen checks
1         Yes  White 2002  21   Male      Yes     Yes      3
2          No  Black 1999  17   Male      Yes     Yes      3
3         Yes  White 2000  24   Male      Yes     Yes      3
4          No  Black 2000  46   Male      Yes     Yes      1
5         Yes  Black 1999  27 Female      Yes     Yes      1
6         Yes  Black 1998  16 Female      Yes     Yes      0
7         Yes  White 1999  40   Male       No     Yes      0

X使用
dplyr
,您可以在以下情况下使用
select\u

library(dplyr)

# Your data
arrests <- data.frame(released = c("Yes", "No"),
                  colour = c("White", "Black"),
                  year = c(2002, 1999),
                  age = c(21,17))

# Solution
select_if(arrests, is.numeric) 

  year age
1 2002  21
2 1999  17
库(dplyr)
#你的数据

逮捕使用
dplyr
,您可以使用
选择\u,如果

library(dplyr)

# Your data
arrests <- data.frame(released = c("Yes", "No"),
                  colour = c("White", "Black"),
                  year = c(2002, 1999),
                  age = c(21,17))

# Solution
select_if(arrests, is.numeric) 

  year age
1 2002  21
2 1999  17
库(dplyr)
#你的数据
使用基础R进行逮捕:

Y <- X[, sapply(X, is.numeric)]
是包含所有分类变量的
数据.frame

使用base R:

Y <- X[, sapply(X, is.numeric)]

是您的
数据。frame
包含所有分类变量。

您几乎已经得到了它。只需使用
Y
值对数据帧进行子集,就像这样,
X[,Y]
。您几乎已经得到了它。只需使用
Y
值对数据帧进行子集设置,就像这样,
X[,Y]
。谢谢您的帮助。只是一个后续问题。如果我还想排除所有缺失/空值的变量,该怎么办?如何将其添加到代码中?假设我有变量“country”,它只有NULL或NA值。如何排除该变量。查看
complete.cases(NA)
is.NA()
。你可以从这里开始:谢谢,这很有效。只是一个后续问题。如果我还想排除所有缺失/空值的变量,该怎么办?如何将其添加到代码中?假设我有变量“country”,它只有NULL或NA值。如何排除该变量。查看
complete.cases(NA)
is.NA()
。您可以从这里开始: