楼主: Ace_xiao
1686 5

[问答] R语言小白请教:因子(factor)转换为数值型(numeric)出错 [推广有奖]

  • 1关注
  • 0粉丝

高中生

5%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
100 点
帖子
15
精华
0
在线时间
18 小时
注册时间
2022-4-14
最后登录
2023-12-30

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
微信图片_1.png
如上图所示,我想对mydata中的TSH_T1进行K-S检验,结果提示函数中用了非数值参数,我想是不是这一列中缺失值太多了,就想手动把factor变为numeric如下图。 微信图片_2.png
结果如下图:
微信图片_3.png 转换失败,仍然是因子型。
PS:我是用NA表示缺失值的。是否跟这个有关?如果是因为缺失值太多的话有没有什么好的解决方法?谢谢各位大神了!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 r语言入门 R语言新手问题 R语言学习 求助R语言 R语言

沙发
llb_321 在职认证  发表于 2022-5-26 10:21:17 |只看作者 |坛友微信交流群
1、数值型里也可以有NA,这个应该不是原因。
2、用levels(mydata["TSH_T1"]),看一下变量都有哪些因子,是数字还是字符。
3、如果因子水平都是数字,可以直接用as.numeric()函数转成数值型变量。
4、如果因子是字符,可以先用levels()函数,将字符型因子改为新的数值型因子(重新定义因子水平),然后再用as.numeric()转为数值型变量。

使用道具

藤椅
Ace_xiao 发表于 2022-5-26 18:10:10 |只看作者 |坛友微信交流群
llb_321 发表于 2022-5-26 10:21
1、数值型里也可以有NA,这个应该不是原因。
2、用levels(mydata["TSH_T1"]),看一下变量都有哪些因子,是 ...
谢谢您!我试了一下
1.执行levels(mydata["TSH_T1"])后返回的是NULL。而且我把鼠标放在TSH_T1上显示的是factor with 1 levels。
2.然后我执行了levels(as.factor(mydata$TSH_T1)),再用as.numeric()还是不行,而且执行as.numeric后数值的大小被改变了,执行as.numeric(as.character())虽然还是因子型,但是数值没有改变。
3.请问还有什么好的办法吗?我今天被这问题困扰一天了

使用道具

板凳
llb_321 在职认证  发表于 2022-5-26 20:07:02 |只看作者 |坛友微信交流群
Ace_xiao 发表于 2022-5-26 18:10
谢谢您!我试了一下
1.执行levels(mydata["TSH_T1"])后返回的是NULL。而且我把鼠标放在TSH_T1上显示的是 ...
1、可能您的那个变量并不是因子型,可以把str(mydata["TSH_T1"])的执行结果贴出来看看到底是哪种类型的数据。
2、那个报错,要求的对象是数值型,也许您的数据只是包含字符。前面说的数值型也可以有NA,但是有的函数可能会把NA当作字符,所以还是用上面说的str()查看一下变量的数据结构和类型再说。
3、如果是从文件导入的数据,建议在导入函数比如read.csv()中明确设置stringsAsFactors = FALSE参数,这样数据就不存在因子型的问题。
4、na.omit()可以去除所有含NA的样本。

使用道具

报纸
Ace_xiao 发表于 2022-5-27 09:55:47 |只看作者 |坛友微信交流群
llb_321 发表于 2022-5-26 20:07
1、可能您的那个变量并不是因子型,可以把str(mydata["TSH_T1"])的执行结果贴出来看看到底是哪种类型的数 ...
谢谢您,已经解决了,因为数据是实验室测量值,有些过大过小值测不出,用了大于号或小于号,我把这些符号删除后就好了,非常感谢您!

使用道具

地板
ccccccccxy 发表于 2023-1-7 22:47:25 |只看作者 |坛友微信交流群
llb_321 发表于 2022-5-26 10:21
1、数值型里也可以有NA,这个应该不是原因。
2、用levels(mydata["TSH_T1"]),看一下变量都有哪些因子,是 ...
感谢您!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-17 12:59