楼主: chensijie2012
3643 11

[问答] factor类型变量table问题 [推广有奖]

  • 2关注
  • 0粉丝

高中生

70%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
2.0169
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
281 点
帖子
23
精华
0
在线时间
29 小时
注册时间
2013-9-10
最后登录
2017-3-8

楼主
chensijie2012 发表于 2016-8-25 16:03:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
您们好,我在编写R程序时,遇到不解,希望大家能给予帮助。有一个data.frame,包括列Type和Difftime,其中Type有5种类别,我使用subset函数条件是Type列下的类别一和类别二,但是当我用table函数对type进行频数统计时,仍然分为5类,虽然类别三、四、五类的频数为零,这是为什么呀?为什么不能去除类别三、四、五类呢?这种情况影响了后面打算做的方差分析和方差分析结果的可视化操作。谢谢,很急。
二维码

扫码加我 拉你入群

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

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

关键词:factor Facto Table fact ABLE 程序编写

沙发
Whig 在职认证  发表于 2016-8-25 16:28:20
看不到程序,感觉理解不过来啊

藤椅
houyunhuang 发表于 2016-8-25 16:39:12
应该是subset()函数对因子取子集后还是保留原来因子的水平数,只是你删除的因子(后三个)没有出现在数据中,也就是零。你可以把取子集后的数据赋值给一个中间变量,然后用levels()函数检查子集是不是还是有5个水平。
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 正解

总评分: 论坛币 + 10   查看全部评分

板凳
jiangbeilu 学生认证  发表于 2016-8-25 16:47:05
这个问题,你可以把factor类型的变量,用as.character转成字符,或者直接在开始读入该数据时,先运行options(stringsAsFactors=FALSE)来防止读入的字条变成factor 。
这样之后,就会只出现这你需要的2种了。
已有 1 人评分热心指数 收起 理由
求证1加1 + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

报纸
chensijie2012 发表于 2016-8-25 18:03:00
jiangbeilu 发表于 2016-8-25 16:47
这个问题,你可以把factor类型的变量,用as.character转成字符,或者直接在开始读入该数据时,先运行option ...
谢谢,处理成功了。我能加你好友吗?以后请教你关于R的问题

地板
chensijie2012 发表于 2016-8-26 13:57:00
jiangbeilu 发表于 2016-8-25 16:47
这个问题,你可以把factor类型的变量,用as.character转成字符,或者直接在开始读入该数据时,先运行option ...
> attach(new_pipeline_data)
The following objects are masked from mongo_pipeline_data (pos = 3):

    CDE.AcceptableType, Difftime, RegistrationType, StatusCN, X_id

The following objects are masked from mongo_pipeline_data (pos = 4):

    CDE.AcceptableType, RegistrationType, StatusCN, X_id

The following objects are masked from mongo_pipeline_data (pos = 6):

    CDE.AcceptableType, RegistrationType, StatusCN, X_id
这是什么意思哦

7
chensijie2012 发表于 2016-8-26 14:01:53
chensijie2012 发表于 2016-8-26 13:57
> attach(new_pipeline_data)
The following objects are masked from mongo_pipeline_data (pos = 3):
...
options(degits=0)
>mean.CDE.Accept<aggregate(new_pipeline_data$Difftime,by=list(new_pipeline_data$CDE.AcceptableType),mean)
> mean.CDE.Accept
              Group.1        x
1          仿制药申请 828.0689
2            临床申请 612.1913
3 新药申请 (上市申请) 623.7947
为什么会出现这种情况哦

8
jiangbeilu 学生认证  发表于 2016-8-26 16:30:32
chensijie2012 发表于 2016-8-26 13:57
> attach(new_pipeline_data)
The following objects are masked from mongo_pipeline_data (pos = 3):
...
变量有覆盖

9
jiangbeilu 学生认证  发表于 2016-8-26 16:31:18
chensijie2012 发表于 2016-8-26 14:01
options(degits=0)
>mean.CDE.Accept mean.CDE.Accept
              Group.1        x
  1. options(degits=0)
复制代码
这里拼写错误。作为新手,建议不要着急,慢慢来,加油!

10
chensijie2012 发表于 2016-8-26 16:40:23
jiangbeilu 发表于 2016-8-26 16:31
这里拼写错误。作为新手,建议不要着急,慢慢来,加油!
我还是没有发现错误,options(degits=0)哪里错了哦?还有变量覆盖是什么意思呢?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 13:27