R count函数_R分析之前的数据准备

数据分析项目中大多数的时间都用在了准备数据上,一个典型的项目80%的精力都花在分析而进行的发现、清洗和准备数据上。只有不到5%的精力用于分析(剩下的时间都耗在了写报告上面)。

合并数据集

数据分析中最常见的一个障碍是将存储在两个不同地方的数据组合到一起。

粘贴数据结构

R提供了几个函数可以将多个数据结构粘贴成一个数据结构。

paste

paste函数可以将多个字符型向量连接成一个向量,默认向量的值是用空格分隔的,我们可以通过sep参数指定分隔符号,而collapse参数可以用来指定这些值之间的连接符号。

x y # 默认paste(x, y)## [1] "a A" "b B" "c C" "d E" "e F"# 使用自定义分隔符paste(x, y, sep = ",")## [1] "a,A" "b,B" "c,C" "d,E" "e,F"# 指定连接符paste(x, y, sep = "-", collapse = "#")## [1] "a-A#b-B#c-C#d-E#e-F"

另外,使用简化版的paste0函数只提供连接参数,没有分隔。

paste0(x, y, collapse = "#")## [1] "aA#bB#cC#dE#eF"
rbind 和 cbind

rbindcbind函数分别可以以增加行或列的形式将几个对象(矩阵或者数据框)合并起来。你可以将它想象为以垂直或者水平地将两张表拼在一起。

merge
merge(x, y, by = , by.x = , by.y = , ...)

xy指定用于合并的数据框,by对应xy共有的列名,后面by.xby.y用于分别指定用于合并的列名。

数据转换

数据框中常用的更改变量的函数是transform,它定义如下:

transform(`_data`, ...)

这个函数首先要指定一个数据框,跟着是一系列的表达式,表达式中的变量是数据框中的变量,transform函数会完成每个表达式中的计算,然后返回最终的数据框。

head(mtcars)##                    mpg cyl disp  hp drat   wt qsec vs am gear carb## Mazda RX4         21.0   6  160 110 3.90 2.62 16.5  0  1    4    4## Mazda RX4 Wag     21.0   6  160 110 3.90 2.88 17.0  0  1    4    4## Datsun 710        22.8   4  108  93 3.85 2.32 18.6  1  1    4    1## Hornet 4 Drive    21.4   6  258 110 3.08 3.21 19.4  1  0    3    1## Hornet Sportabout 18.7   8  360 175 3.15 3.44 17.0  0  0    3    2## Valiant           18.1   6  225 105 2.76 3.46 20.2  1  0    3    1mtcars.transformed mtcars.transformed##                      mpg cyl  disp  hp drat   wt qsec vs am gear carb## Mazda RX4           21.0   6 160.0 110 3.90 2.62 16.5  0  1    4    4## Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.88 17.0  0  1    4    4## Datsun 710          22.8   4 108.0  93 3.85 2.32 18.6  1  1    4    1## Hornet 4 Drive      21.4   6 258.0 110 3.08 3.21 19.4  1  0    3    1## Hornet Sportabout   18.7   8 360.0 175 3.15 3.44 17.0  0  0    3    2## Valiant             18.1   6 225.0 105 2.76 3.46 20.2  1  0    3    1## Duster 360          14.3   8 360.0 245 3.21 3.57 15.8  0  0    3    4## Merc 240D           24.4   4 146.7  62 3.69 3.19 20.0  1  0    4    2## Merc 230            22.8   4 140.8  95 3.92 3.15 22.9  1  0    4    2## Merc 280            19.2   6 167.6 123 3.92 3.44 18.3  1  0    4    4## Merc 280C           17.8   6 167.6 123 3.92 3.44 18.9  1  0    4    4## Merc 450SE          16.4   8 275.8 180 3.07 4.07 17.4  0  0    3    3## Merc 450SL          17.3   8 275.8 180 3.07 3.73 17.6  0  0    3    3## Merc 450SLC         15.2   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值