系列文章目录
实验数据
1. item_feature1 数据集字段
date | 日期 | item_id | 商品ID |
cate_id | 仓库ID | cate_level_id | 仓库级别ID |
brand_id | 品牌ID | supplier_id | 供应商ID |
pv_ipv | 浏览次数 | cart_uv | 加购人次 |
collect_uv | 收藏人次 | cart_ipv | 被加购次数 |
提示:以下是本篇文章正文内容
一、实验目的
- 变量创建、变量重编码、缺失值、日期值处理,数据类型转化,数据排序。
- 数据集的合并,选取子集,使用 SQL 操作数据框,数据的整合与重构。
- 控制流:条件与循环。
- 用户自编函数。
二、实验内容
题目1
- 将 item_feature1.csv 读入,存储到 df 中;并给 df 的列分别命名为:date、item_id、cate_id、cate_level_id、brand_id、supplier_id、pv_ipv、cart_uv、collect_uv 和 cart_ipv 。
- 为 df 中的 cart_uv 重新编码并将新变量命名为 recode,将小于 5000 的归为less,将大于等于 5000 小于 15000 的归为 common,其他的归为 many;查看尾部的 10 条数据。
- 查看 df 中是否有缺失值;如有缺失值,删除 df 中所有含缺失值的行。
- 将 df 中的 date 字段转换成日期类型,如:2015-02-13。
- 将 df 按照 date 字段升序排列,另存为 df_asc;并查看前 10 条数据。
- 将 df 按照 date 字段升序和 item_id 降序排序,另存在 df1 中;并查看前 5条数据。
题目2
- 从 df 中选取 date 、item_id 、cate_id 、cart_uv 、recode、collect_uv 和cart_ipv 字段另存为 df1;剔除 df1 中的 cart_ipv 字段另存为 df2;从 df1 中选取 item_id 大于 500 的并且 recode 为 less 的数据另存为 df3。
- 从 df 中选取 date 为 2015-02-14,item_id 为 300,并保留 date 到 supplier_id其间的所有列,另存为 df_sub。
- 从 df 中无放回的随机抽取 500 条样本,另存为 df4;查看样本的维度和数据的头部数据。
- 从 df1 中选取列从 item_id 到 cate_id 的数据,另存为df1_temp,然后与 df按照 item_id 合并存为 df5。
- 从 df1 中利用 sql 的方法选取 item_id 为 300 的数据,另存为 df6 中。
- 从 df2 中有放回的随机取出与 df6 一样多的数据条数做为df_tem,然后与 df6按列(横向)合并,另存为 df7。
- 从 df 中选取 date 、item_id、cate_id 和 cart_ipv 另存为 feature,并将 feature按日期升序排列,取出 feature 中唯一的 cate_id(去重即可)。
三、实现过程与实验结果
题目1
1.将 item_feature1.csv读入存储到df中;并给df的列分别命名为:date 、item_id 、cate_id、cate_level_id 、brand_id 、supplier_id 、pv_ipv 、cart_uv 、collect_uv 和 cart_ipv。
# 读取数据存储到df中
df <-
read.csv(
"R\\data\\ex2\\item_feature1.csv"
)
# 查看原始变量名
names(df)
## [1] "X20150628" "X300" "X36" "X4" "X657" "X294"
## [7] "X33" "X19" "X1" "X1.1"
# 重命名
names(df)[1: