首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中将数据从pdf转换为数字

在R中将数据从pdf转换为数字
EN

Stack Overflow用户
提问于 2013-02-08 03:36:58
回答 1查看 178关注 0票数 0

我是"R“的新手,还在学习基础知识。

在一种情况下,我从一个网站上获得了一些xls格式的人口数据。当我试图读取它(使用gdata包中的read.xls )时,数据进入R(一个数据帧)。然而,一切都是性格,到目前为止一切都很好。

在清理了一些不必要的行和列等之后,我试图将数字(以字符的形式出现)转换为数字值,其中我面临着奇怪的行为……

我的数据元素如下所示(这里有一些示例)

代码语言:javascript
复制
> class(males1)
[1] "factor"

> males1[1]
[1] 6,665,561

males1假设包含n行,每个行有一个元素,即每个州的男性数量。当我对这些值应用as.numeric时,它实际上返回了一个数字和

代码语言:javascript
复制
> as.numeric(males1[1])
[1] 35

当我将这个males1转换成一个向量时,我得到了一个不同的错误

代码语言:javascript
复制
> vv=as.vector(males1)
> vv[1]
[1] "6,665,561"
> as.numeric(vv[1])
[1] NA
Warning message:
NAs introduced by coercion 

我确信,我遗漏了一些非常基本的东西..

请帮帮忙。

EN

Stack Overflow用户

发布于 2013-02-08 03:43:39

我假设你读的csv是用逗号而不是小数,或者用大数分隔的?

因为有逗号:

代码语言:javascript
复制
> males1[1]
[1] 6,665,561 # is this meant to be 6665561 ?

是一个因素。当你对一个因子执行as.numeric时,你会得到一个数字,但它只是该因子在水平顺序中的数字。

代码语言:javascript
复制
   x <- c("a","b","c")
   x <- as.factor(x)
   as.numeric(x)
   #[1] 1 2 3

有没有可能你想用?gsub或者在你的read.csv中使用dec="."来移除它们?

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14759522

复制
相关文章

相似问题

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