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

R 如何将值重新分配给新行并将其余值保留在这些新行中,r,R,首先,我不确定我的标题是否正确,但我希望描述能澄清一切 首先,我有这样的数据框架 vehicle type number1 number2 "car" "truck, SUV, hatchback" 2 3 "bike" "scraper, lowrider" 5 7 "plane" "bomber" 2 3 vehicle type1 type2 type3

首先,我不确定我的标题是否正确,但我希望描述能澄清一切

首先,我有这样的数据框架

vehicle type                    number1 number2
"car"   "truck, SUV, hatchback" 2       3
"bike"  "scraper, lowrider"     5       7
"plane" "bomber"                2       3
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
其次,我使用了
splitstackshape
中的很棒的
cSplit
函数将此数据帧更改为类似的内容

vehicle type                    number1 number2
"car"   "truck, SUV, hatchback" 2       3
"bike"  "scraper, lowrider"     5       7
"plane" "bomber"                2       3
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
但作为我最后的结果,我希望看到这样的事情

vehicle type                    number1 number2
"car"   "truck, SUV, hatchback" 2       3
"bike"  "scraper, lowrider"     5       7
"plane" "bomber"                2       3
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
很明显,我不知道如何做到这一点,我甚至不知道这个话题是否足够描述我的问题(我觉得整理包可能会有帮助)。
提前谢谢

cSplit
中,默认的
方向
。我们可以指定
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

是的,它起作用了!非常感谢你@arkun