我有一个数据集,比如说df,它有100列不同类型的列向量(类),即字符,整数,双精度等。如何使用dplyr或其他类似tidyverse的函数来改变列的类?我想对所有整型到双精度的列使用mutate_if.然后只保留as.double列并删除字符列?有办法进去吗?有什么帮助吗?
df
mutate_if
mklgxw1f1#
在这两种情况下,都可以使用整洁选择调用来选择正确的列:
library(dplyr) df <- tibble( a = runif(100), b = sample(1:1000, 100), c = sample(letters, 100, replace = TRUE), d = rnorm(100), e = 101:200 ) df |> mutate(across(where(is.integer), as.double)) |> select(where(is.double)) #> # A tibble: 100 × 4 #> a b d e #> <dbl> <dbl> <dbl> <dbl> #> 1 0.196 468 -1.35 101 #> 2 0.373 865 0.123 102 #> 3 0.0250 534 0.131 103 #> 4 0.622 388 0.426 104 #> 5 0.354 670 0.625 105 #> 6 0.806 474 -1.15 106 #> 7 0.282 318 -1.27 107 #> 8 0.813 331 1.05 108 #> 9 0.360 165 -0.765 109 #> 10 0.0929 645 -0.0232 110 #> # … with 90 more rows
1条答案
按热度按时间mklgxw1f1#
在这两种情况下,都可以使用整洁选择调用来选择正确的列: