R 变量的逻辑转换

除了对数变换 和 平方根变换以外,逻辑转换也经常使用。

有时候我们并不关心具体的数值,只关心是否使用,是否存在,0还是1,true还是false等二元数据,所以要对变量进行逻辑转换。

# 读取数据
pf <- read.csv('pseudo_facebook.tsv', sep = '\t')

> summary(pf$mobile_likes)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    0.0     0.0     4.0   106.1    46.0 25111.0 
> summary(pf$mobile_likes > 0)
   Mode   FALSE    TRUE 
logical   35056   63947


## 添加一列表示:是否在手机端登陆
pf$mobile_check_in <- NA
# 大于0,则设置为1;否则设置为0
pf$mobile_check_in <- ifelse(pf$mobile_likes > 0, 1, 0)

> str(pf$mobile_check_in)
 num [1:99003] 0 0 0 0 0 0 0 0 0 0 ...
> summary(pf$mobile_check_in)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.0000  1.0000  0.6459  1.0000  1.0000 


# 将num类型转化为factor类型
pf$mobile_check_in <- factor(pf$mobile_check_in)

> str(pf$mobile_check_in)
 Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
> summary(pf$mobile_check_in)
    0     1 
35056 63947

# 使用手机的比例,sum()可以对true,false进行计算,但不能对factor类型的数据进行计算,可以用length()
## error: ‘sum’ not meaningful for factors
> sum(pf$mobile_check_in == 1)/length(pf$mobile_check_in)
[1] 0.6459097

使用手机的比率为64.59%,说明超过一半的用户都在使用手机,所以手机app的开发具有重要意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值