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