r - 如何在R中将一列拆分为多个(不相等)列
问题描述
我正在使用一个字符串,它是由逗号分隔的元素列表。我想分隔字符串,以便每个元素都有它的列。但是我遇到了麻烦,因为每个列表有不同数量的元素。
X1 <- "a,b,c"
X2 <- "a,b"
X3 <- "a,b,c,d"
DF <- data.frame(Col1= rbind(X1,X2,X3))
Col1
X1 a,b,c
X2 a,b
X3 a,b,c,d
我希望它看起来像这样。每个元素都有自己的列,而不管字符的字符串中有多少元素。
Col1 Col2 Col3 Col4
X1 a b c
X2 a b
X3 a b c d
谢谢你!
解决方案
我们可以cSplit
使用splitstackshape
library(splitstackshape)
cSplit(DF, "Col1",",")
-输出
cSplit(DF, "Col1",",")
Col1_1 Col1_2 Col1_3 Col1_4
1: a b c <NA>
2: a b <NA> <NA>
3: a b c d
推荐阅读
- html - How can i change the style of the drop down panel of a select box to have round corners for chrome browser
- php - PHP 新会话 id 重新生成,而不是在重定向后使用现有会话
- vue.js - vuetify 选项卡的地图渲染速度很慢
- amazon-web-services - AWS IAM 策略允许除特定 IAM 操作之外的所有操作
- swift - SwiftUI 预览画布未显示
- sql - 如何使用过程返回具有不同数量参数的表?
- python - 如何通过多个条件选择某些列?
- python-3.x - 如何循环遍历具有不同日期的时间戳索引的数据框是一个循环?
- regex - 将pandas单元格中靠近第n个字符位置的长字符串拆分为多个单元格而不拆分单词
- oracle - 查询分组,并在两个不同的列中获取结果