首页 > 解决方案 > 通过R中的名称更改多列的数据类型

问题描述

有没有办法只通过列名在 R 中一次更改多个列的数据类型?

df
COlA   COLB COlC
sdf    12    34
sdsd   12    45
sdfa   45    34

COLB 和 COLC 应该通过使用那里的名称而不是通过索引立即更改为整数?

标签: r

解决方案


使用dplyr

library(dplyr)
df <- df %>%
    mutate(across(c(COLB, COlC), as.integer))

或者如果有很多列,:如果它们在序列中,请指定一个范围 ( )

df %>%
    mutate(across(COLB:COlC, as.integer))

或者如果只需要跳过第一列,可以使用-

 df %>%
    mutate(across(-COLA, as.integer))

base R,我们可以使用lapply

nm1 <- names(df)[-1]
df[nm1] <- lapply(df[nm1], as.integer)

也可以自动执行此操作type.convert

type.convert(df, as.is = TRUE)

推荐阅读