Sci*_*e11 3 string r dataformat column-types
如果我的数据集有这样的列
ID Group Col_item_01 Col_item_02 Col_item 03
1 Blue 11.23 10.12 4.3
2 Green 10.21 18.24 5.9
4 Purple 4.23 7.64 15.97
Run Code Online (Sandbox Code Playgroud)
如何将所有以 , 开头的列转换Col_item_...为从字符键入数字?我知道我可以单独执行此操作, df1$Col_item_01 <- as.numeric(as.character(df1$Col_item_01)但我对使用 grep 或 grepl 或字符串函数来提取这些列并将其更改为数字的有效方法感兴趣Col_item_...。任何建议都非常感激。谢谢。
我们可以循环“Col_item_”across列starts_with并转换numeric为tidyverse
library(dplyr)
df1 <- df1 %>%
mutate(across(starts_with("Col_item_"),
~ as.numeric(as.character(.))))
Run Code Online (Sandbox Code Playgroud)
或者在 中base R,使用模式获取列名称grep,并循环遍历所选列lapply并进行分配
nm1 <- grep("^Col_item_", names(df1))
df1[nm1] <- lapply(df1[nm1], function(x) as.numeric(as.character(x)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |