将数据帧中的多列从字符格式转换为数字格式的最有效方法是什么?

我有一个名为DF的数据帧,包含所有字符变量.

我想做点像

for (i in names(DF){
    DF$i <- as.numeric(DF$i)
}

非常感谢.

推荐答案

你可以试试

DF <- data.frame("a" = as.character(0:5),
                 "b" = paste(0:5, ".1", sep = ""),
                 "c" = letters[1:6],
                 stringsAsFactors = FALSE)

# Check columns classes
sapply(DF, class)

#           a           b           c 
# "character" "character" "character" 

cols.num <- c("a","b")
DF[cols.num] <- sapply(DF[cols.num],as.numeric)
sapply(DF, class)

#          a           b           c 
#  "numeric"   "numeric" "character"

R相关问答推荐

如何在球体上绘制轮廓线?

将虚线添加到每个站点的传奇中平均

保存shiny 的代码嗅探器:避免$ Symbol问题

卸载安装了BRM的模型发出的警告

将复杂的组合列表转换为数据框架

更改编号列表的 colored颜色

如何在kableextra调用cell_spec()中忽略NA?

derrr mutate case_when grepl不能在R中正确返回值

如何通过Docker部署我的shiny 应用程序(多个文件)

在R中使用数据集名称

在R中按行按列范围查找最大值的名称

在不丢失空值的情况下取消列出嵌套列表

如何用书面利率绘制geom_bar图

当我们有多个反斜杠和/特殊字符时使用Gsubing

为左表中的所有行使用值Fill滚动左连接

观察器中的inaliateLater的位置

我如何使用tidyselect来传递一个符号数组,比如Pivot_Long?

使用ifElse语句在ggploy中设置aes y值

整理曲线图、曲线图和点图

Ggplot2如何找到存储在对象中的残差和拟合值?