1. 拆分第二列,有strsplit拆分,结果是一个list
2. 用length及sapply求出每个列表元素里向量的长度
3. 用rep根据2中求出的结果进行赋值,完成第1列的实现;用unlist对strsplit拆分的结果进行去列表化,成为一个独立的向量
4. 构建新的data.frameps. 因为论坛里的美元符号显示并不好,这里都改用了with函数代替了。结果是一样的。
- options(stringsAsFactors=FALSE)
- df <- data.frame(x1=c("A","B","D","E"),
- x2=c("中国、美国","德国、日本","意大利",NA) )
- country_list <- strsplit(with(df,x2),"、")
- count_n <- sapply(country_list,length)
- data.frame(x1=rep(with(df,x1),count_n),x2=unlist(country_list))



雷达卡



京公网安备 11010802022788号







