如何将值重新分配给新行并在这些新行中保留其余值

时间:2016-01-21 06:50:06

标签: r

首先,我不确定我是否正确地指出了这个主题,但我希望描述会清除所有内容。

首先,我有这样的数据框

vehicle type                    number1 number2
"car"   "truck, SUV, hatchback" 2       3
"bike"  "scraper, lowrider"     5       7
"plane" "bomber"                2       3

其次,我使用了来自cSplit的精彩splitstackshape函数将此数据框更改为此类

vehicle type1     type2      type3       number1 number2
"car"   "truck"   "SUV"      "hatchback" 2       3
"bike"  "scraper" "lowrider" NA          5       7
"plane" "bomber"  NA         NA          2       3

但是作为我的最终结果,我希望看到类似这样的内容

vehicle type        number1 number2
"car"   "truck"     2       3
"car"   "SUV"       2       3
"car"   "hatchback" 2       3 
"bike"  "scraper"   5       7
"bike"  "lowrider"  5       7
"plane" "bomber"    2       3

显然我不知道如何做到这一点,我甚至不知道主题是否足以描述我的问题(我觉得包装整洁可能会有所帮助)。 提前谢谢

1 个答案:

答案 0 :(得分:3)

direction中的默认widecSplit。我们可以指定direction='long'来获得预期的输出。

library(splitstackshape)
cSplit(df1, "type", sep=", ", "long")
#    vehicle      type number1 number2
#1:     car     truck       2       3
#2:     car       SUV       2       3
#3:     car hatchback       2       3
#4:    bike   scraper       5       7
#5:    bike  lowrider       5       7
#6:   plane    bomber       2       3