全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3978 2
2016-08-15
悬赏 288 个论坛币 未解决
数据框有两列数据,如下示

A           中国、美国
B           德国、日本
D           意大利
E            NA


最终想要生成的效果为

A       中国
A       美国
B       德国
B       日本
D       意大利
E       NA

求救高手R代码

二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-15 17:14:43
大体的思路如下:
1. 拆分第二列,有strsplit拆分,结果是一个list
2. 用length及sapply求出每个列表元素里向量的长度
3. 用rep根据2中求出的结果进行赋值,完成第1列的实现;用unlist对strsplit拆分的结果进行去列表化,成为一个独立的向量
4. 构建新的data.frameps. 因为论坛里的美元符号显示并不好,这里都改用了with函数代替了。结果是一样的。
复制代码

二维码

扫码加我 拉你入群

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

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

2016-8-17 19:19:38
有现成的包的
library(tidyr)
df %>% separate_rows(x2, sep = "、")
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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