全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
993 6
2021-08-01
ab5ea62da63e95341c623e1d368d63b.png
想问一下怎么将这个数字框转化成下面excel这个表格的排列形式,而且还会根据每个县不同邻县的数量然后自动排列生成邻县1 2 3 4。 小白新手!谢谢! d4d4115c3b4b67b3dc835daccb35847.png

附件列表
二维码

扫码加我 拉你入群

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

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

全部回复
2021-8-1 21:35:47
提供几个关键函数,group_by(县,县代码),mutate(xxx = paste0(邻县,collapse = T)),separate_rows()
二维码

扫码加我 拉你入群

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

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

2021-8-2 08:08:41
有会的嘛
二维码

扫码加我 拉你入群

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

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

2021-8-2 09:15:17
909646372 发表于 2021-8-1 16:16
想问一下怎么将这个数字框转化成下面excel这个表格的排列形式,而且还会根据每个县不同邻县的数量然后自动 ...
这种数据预处理最烦躁了,但MATLAB解决一切牛鬼蛇神,可能就是把问题会变得复杂很多...
二维码

扫码加我 拉你入群

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

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

2021-8-14 21:53:27
有笨方法实现,不知道是否有适合的函数
复制代码
二维码

扫码加我 拉你入群

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

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

2021-8-14 21:54:19
library(dplyr)
library(tidyr)
# 样例   kf代表某地,k1代表邻县,k2代表邻市
d1 <- data.frame(kf=c('A','A','A','B','B'),k1=paste0('lx',1:5),k2=paste0('ls',2:6))
# 添加辅助列
d2 <- d1 %>% group_by(kf) %>% mutate(rk=row_number()) %>% mutate(rk_key=paste0('key',rk))
# 查看最多临县数
kn <- unique(d2$rk) %>% length()
# 打横 得到邻县
lx.data <- d2 %>% spread(key = rk_key,value = k1) %>% group_by(kf) %>%
  summarise_at(vars(key1:paste0('key',kn)), max,na.rm=TRUE)
# 打横 得到市区
ls.data <- d2 %>% spread(key = rk_key,value = k2) %>% group_by(kf) %>%
  summarise_at(vars(key1:paste0('key',kn)), max,na.rm=TRUE)
# 合并最后结果
left_join(lx.data,lx.data,by='kf')
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群