r - 如何分离具有不同长度数据的数据框?
问题描述
有一个数据框,其中包含不同长度的国家/地区列表。这些已通过使用包中的separate()
功能分开dplyr
。代码如下,
library(dplyr)
df <- data.frame(countries=(c("England","Australia,Pakistan", "India,England","Denmark", "",
"Australia, Pakistan, New Zealand, England", "United States, England, Pakistan")))
wrangled_df <- df %>%
separate(countries,
into = c("country_1", "country_2", "country_3","country_4"),
sep = ",", remove = T)
wrangled_df
输出如下,
country_1 country_2 country_3 country_4
1 England <NA> <NA> <NA>
2 Australia Pakistan <NA> <NA>
3 India England <NA> <NA>
4 Denmark <NA> <NA> <NA>
5 <NA> <NA> <NA>
6 Australia Pakistan New Zealand England
7 United States England Pakistan <NA>
只要逗号分隔的数量有限(在本例中为 4),它就可以正常工作。但是,如果特定行的国家列表由许多逗号分隔,则使用该separate()
功能将非常麻烦。是否有一种简化的方法来执行此操作,其中数据自动用逗号分割并创建必要数量的列?
解决方案
推荐阅读
- python - 如何在 Python 中对需要活动 Click 上下文的函数进行单元测试
- api - BONITA BPM 用户任务合约返回空数组
- google-chrome-extension - 增加或减少 url 参数的扩展
- scala - 将被拒绝的记录保存在另一个 rdd
- java - UDP:关于接收响应如何工作的问题
- c++ - istream 运算符跳过空格字符
- c++ - 从 Eigen 中的向量/矩阵中提取元素
- numpy - 用 complex64 进行 LU 分解的数值精度
- git - 用于搜索提交消息的 Git 别名
- javascript - LocalForage async/await getItem() 等待 2 个变量然后完成加载