1. 在tidyr包中有一个who数据集,是世界卫生组织调查的结核病数据,这是一个不符合整洁数据的数据集,我们要把它变整洁。首先用who查看一下数据是什么样的(提示:>后直接输入who并回车);然后查看who的说明(?who);说明中有关于变量的描述,该数据集共有60列,第5-60列包含了3个变量,“new_”后面的代码标识不同的诊断方法“method of diagnosis”(rel= relapse, sn= negative pulmonary smear, sp= positive pulmonary smear, ep= extra pulmonary),数字前面紧跟的是性别代码(m,f),数字代表年龄分组(0-14,15-24,25-34…55-64,65+)。 1) 假如我们对采用relapse方法检测到的记录感兴趣,选取字段iso2,year,newrel_m014:newrel_f65; 2) 试用gather和separate将它转成整洁的数据集。可以分步做,最后的结果数据集包含6个字段: iso2,year,method=”rel”,gender,agegroup=(”014”…”65”) ,count。 提示:你需要用到的函数有select(),gather(),separate(),mutate(),substr(), length()。 3) agegroup字段能够用parase_number函数析出?为什么?
时间: 2024-03-18 13:42:48 浏览: 18
1) 首先使用who函数查看数据:
```
> who
```
2) 使用?who查看说明,根据说明选取需要的字段:
```
> library(tidyr)
> who_data <- select(who, iso2, year, newrel_m014:newrel_f65)
```
3) 使用gather函数将数据变成长格式:
```
> who_data_long <- gather(who_data, key = "method_age_gender", value = "count", newrel_m014:newrel_f65)
```
4) 使用separate函数将method_age_gender字段分离成三个字段,然后使用mutate函数将agegroup字段析出:
```
> who_data_long <- separate(who_data_long, col = "method_age_gender", into = c("method", "age_gender"), sep = "_")
> who_data_long <- mutate(who_data_long, gender = substr(age_gender, 1, 1))
> who_data_long <- mutate(who_data_long, agegroup = substr(age_gender, 2, length(age_gender)))
```
5) 最后整理数据集,只保留需要的字段:
```
> who_data_final <- select(who_data_long, iso2, year, method, gender, agegroup, count)
```
6) 可以使用parse_number函数将agegroup字段析出,因为agegroup字段中只包含数字,没有其他字符,所以可以直接使用parse_number函数析出。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)