我有一个类似于以下(前3行)的DataFrame
cap_color gill_color spore_print_color stalk_color veil_color
1 brown black black purple white
2 yellow black brown purple white
3 white brown brown purple white
现在我想让它显示出来:
color part
1 brown cap_color
2 yellow cap_color
3 white cap_color
4 black gill_color
5 black gill_color
6 brown gill_color
7 black spore_print_color
8 brown spore_print_color
9 brown spore_print_color
10 purple stalk_color
11 purple stalk_color
12 purple stalk_color
13 white veil_color
14 white veil_color
15 white veil_color
我知道这个问题可以通过循环来解决,但我想知道是否存在一个矢量化函数来使其更快。
答案 0 :(得分:0)
看起来比较复杂,只需使用tidyr
,gather()
代码很简单:
require(tidyr)
newDF <- df%>%
gather(part, color)
你应该拥有你想要的东西......