R 如何更改TIBLE的列数据类型

R 如何更改TIBLE的列数据类型,r,tidyverse,R,Tidyverse,水管和小摆设有时很方便。用户希望将一列从一种类型转换为另一种类型 像这样: mtcars$qsec <-as.integer(mtcars$qsec) mtcars$qsec只需输入一次列引用-符合要求的答案是 mtcars %<>% mutate_at(6, as.integer) mtcars%%mutate_at(6,作为.integer) 要按名称引用列,需要一个列名冗余输入的解决方案 mtcars %<>% mutate(qsec = as.inte

水管和小摆设有时很方便。用户希望将一列从一种类型转换为另一种类型

像这样:

mtcars$qsec <-as.integer(mtcars$qsec)

mtcars$qsec只需输入一次列引用-符合要求的答案是

mtcars %<>% mutate_at(6, as.integer)
mtcars%%mutate_at(6,作为.integer)
要按名称引用列,需要一个列名冗余输入的解决方案

mtcars %<>% mutate(qsec = as.integer(qsec))
mtcars%%变异(qsec=as.integer(qsec))

注意:上面的评论用户将获得奖励

此解决方案可能是最短的:

mtcars$qsec %<>% as.integer
mtcars$qsec%%as.integer
诀窍是直接在列上执行强制转换操作>不再需要mutate()。

更新dplyr 1.0.0 Tidyverse建议使用
cross()
,正如@Aren Cambre所指出的那样,它将
mutate\u替换为

下面是它的样子:

mtcars %>% mutate(across(qsec, as.integer))
重要: 请注意,
as.integer
是在没有括号的情况下编写的
()

mtcars%%mutate_at(6,as.integer)
此外,
mtcars%%mutate(qsec=as.integer(qsec))
mutate_at()
已被替换为。
mtcars %>% mutate(across(qsec, as.integer))