首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字符数据框转换为数字?

如何将字符数据框转换为数字?
EN

Stack Overflow用户
提问于 2021-06-10 05:26:47
回答 2查看 53关注 0票数 0

为了继续我的数据集的准备工作,我需要让它成为每一列的字符串是数字而不是字符。

代码语言:javascript
复制
str(eighthr)
'data.frame':   2533 obs. of  74 variables:
 $ Date  : chr  "1/2/1998" "1/3/1998" "1/4/1998" "1/5/1998" ...
 $ WSR0  : chr  "2.8" "2.9" "4.7" "2.6" ...
 $ WSR1  : chr  "3.2" "2.8" "3.8" "2.1" ...
 $ WSR2  : chr  "3.3" "2.6" "3.7" "1.6" ...
 $ WSR3  : chr  "2.7" "2.1" "3.8" "1.4" ...
 $ WSR4  : chr  "3.3" "2.2" "2.9" "0.9" ...
 $ WSR5  : chr  "3.2" "2.5" "3.1" "1.5" ...

如何转换除$Date之外的所有行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-10 09:04:15

我尝试过henryn解决方案,它起作用了。您可以尝试复制此代码,看看是否出现错误。

代码语言:javascript
复制
library(dplyr)

data <- data.frame(
  Date = as.character(c('1/2/1998', '1/3/1998')),
  WSR0 = c('2.5', '2.6'),
  WSR1 = c('3.2', '3.5')
)

data2 <- mutate(data, across(-Date, as.numeric))
str(data2)

不管出于什么原因,如果变异方法仍然不起作用,你可以做一种乏味的方法,但肯定有效,那就是简单地使用as.numeric。这应该是肯定有效的,因为它只使用base R命令,我们可以排除任何库问题。

代码语言:javascript
复制
eighthr$WSR0 <- as.numeric(eighthr$WSR0)
eighthr$WSR1 <- as.numeric(eighthr$WSR1)
票数 1
EN

Stack Overflow用户

发布于 2021-06-10 05:31:19

您可以在dplyrmutate中使用across

代码语言:javascript
复制
library(dplyr)
mutate(eighthr, across(-Date, as.numeric))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67911912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档