19635 7

[学习分享] R语言:对于数据框变量数值进行归类等(within函数使用) [推广有奖]

  • 5关注
  • 8粉丝

已卖:376份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
3141 个
通用积分
73.8548
学术水平
37 点
热心指数
36 点
信用等级
23 点
经验
33667 点
帖子
298
精华
0
在线时间
141 小时
注册时间
2012-11-23
最后登录
2022-9-18

楼主
奇渥温·沙加 发表于 2016-2-17 20:25:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在很多时候,我们要处理数据框中的一些数据,并将在某一范围内的数据赋予一个值,或是字符值或是因子,这个时候
使用within函数是比较方便的。详见下面的例子:
#首先建立数据框
> manager<-c(1:5)
> date<-c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09")
> country<-c("us","us","uk","uk","uk")
> gender<-c("M","F","F","M","F")
> age<-c(32,45,25,39,99)
> q1<-c(5,3,3,3,2)
> q2<-c(4,5,5,3,2)
> q2<-c(5,2,2,4,1)
> q3<-c(5,2,5,4,1)
> q4<-c(5,5,5,NA,2)
> q5<-c(5,5,2,NA,1)
> leadership<-data.frame(manager,date,country,gender,age,q1,q2,q3,q4,q5,stringAsFactors=F)
> leadership#已经建好的数据框如下所示
  manager     date country gender age q1 q2 q3 q4 q5 stringAsFactors
1       1 10/24/08      us      M  32  5  5  5  5  5           FALSE
2       2 10/28/08      us      F  45  3  2  2  5  5           FALSE
3       3  10/1/08      uk      F  25  3  2  5  5  2           FALSE
4       4 10/12/08      uk      M  39  3  4  4 NA NA           FALSE
5       5   5/1/09      uk      F  99  2  1  1  2  1           FALSE

> leadership<-within(leadership,{#使用within(原来数据框,{分组条件})函数将年龄进行分组
+ agecat<-NA                            #先向数据框中增一列名为agecat,并全部赋值为NA。
+ agecat[leadership$age>75]<-"elder" #然后使用逻辑符号进行分组
+  agecat[leadership$age>=55&leadership$age<=75]<-"middle age"
+ agecat[leadership$age<55]<-"young"}
+ )
> leadership   #分组好以后的数据框如下所示
  manager     date country gender age q1 q2 q3 q4 q5 stringAsFactors agecat
1       1 10/24/08      us      M  32  5  5  5  5  5           FALSE  young
2       2 10/28/08      us      F  45  3  2  2  5  5           FALSE  young
3       3  10/1/08      uk      F  25  3  2  5  5  2           FALSE  young
4       4 10/12/08      uk      M  39  3  4  4 NA NA           FALSE  young
5       5   5/1/09      uk      F  99  2  1  1  2  1           FALSE  elder
>


二维码

扫码加我 拉你入群

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

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

关键词:within With 函数使用 Thin 数据框 country manager within

沙发
stzhao 在职认证  发表于 2016-2-18 10:18:10
require(dplyr)
leadership %>% mutate(agecat=ifelse(age>75,"elder", ifelse(age>=55,"middle age","young")))

藤椅
奇渥温·沙加 发表于 2016-2-18 10:47:27
stzhao 发表于 2016-2-18 10:18
require(dplyr)
leadership %>% mutate(agecat=ifelse(age>75,"elder", ifelse(age>=55,"middle age","you ...
这里主要介绍一下within函数

板凳
yukisuki 发表于 2016-7-28 14:15:02
谢谢分享

报纸
Feliciacia 发表于 2016-10-23 22:33:19
感谢楼主分享!

地板
别让梦逝去 发表于 2017-1-18 14:48:16
请教:在expression部分,新增变量时在变量名前需要加“+”号么?另外在分组的逻辑判断之间如何换行?已经试过直接回车,分号,逗号,都报错呀。求教

7
pingguzh 发表于 2017-3-21 10:17:23
leadership %>%

这个百分号是什么意思呢

8
歌颂2 发表于 2017-9-8 10:08:07
pingguzh 发表于 2017-3-21 10:17
leadership %>%

这个百分号是什么意思呢
管道函数

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

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