我有一个类似于通过下面的代码创建的数据集(这是一个真实数据集的示例)。
我需要创建两个列(命名为"ideol_1"还有ideol_2,这就给出了ideolparty的值;对应于"pcv_PR"列中字母相似的两个最高的列(A:E)。因此,如果pcv_PR_A中pcv_PR_A和pcv_PR_E的值最高,则ideolparty_A"应该在"思想"一栏。对于这一行,如果pcv_PR_B是第二高的,那么"ideol1";应该产生"ideolpartyB"的值
制作样本数据:
structure(list(election = c("ARG_2015", "ARG_2015", "ARG_2015",
"ARG_2015", "ARG_2015", "ARG_2015", "ARG_2015", "BRA_2002", "BRA_2002",
"BRA_2002", "BRA_2002", "BRA_2002", "BRA_2002", "BRA_2002", "BRA_2002",
"BRA_2002", "BRA_2006", "BRA_2006", "BRA_2006", "BRA_2006", "BRA_2006",
"BRA_2010", "BRA_2010", "BRA_2010", "BRA_2010", "BRA_2010", "BRA_2010",
"BRA_2010", "BRA_2010", "BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014",
"BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014",
"BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014", "BRA_2014",
"BRA_2014", "BRA_2014", "CHL_1999", "CHL_1999", "CHL_1999", "CHL_2005",
"CHL_2005", "CHL_2005", "CHL_2005", "CHL_2005", "CHL_2005", "CHL_2005",
"CHL_2009", "CHL_2009", "CHL_2009", "CHL_2009", "CHL_2009", "CHL_2009",
"CHL_2009", "FRA_2002", "FRA_2002", "FRA_2002", "FRA_2002", "FRA_2012",
"FRA_2012", "FRA_2012", "FRA_2012", "FRA_2012", "FRA_2012", "FRA_2012",
"FRA_2012", "FRA_2012", "FRA_2012", "FRA_2012", "LTU_1997", "LTU_1997",
"LTU_1997", "LTU_1997", "PER_2000", "PER_2000", "PER_2000", "PER_2000",
"PER_2000", "PER_2001", "PER_2001", "PER_2001", "PER_2001", "PER_2006",
"PER_2006", "PER_2006", "PER_2006", "PER_2006", "PER_2006", "PER_2006",
"PER_2006", "PER_2006", "PER_2011", "PER_2011", "PER_2011", "PER_2011",
"PER_2011", "PER_2011", "PER_2011", "PER_2011", "PER_2011", "PER_2016",
"PER_2016", "PER_2016", "PER_2016", "PER_2016", "PER_2016", "PER_2016",
"PER_2016", "ROU_1996", "ROU_1996", "ROU_1996", "ROU_1996", "ROU_1996",
"ROU_2004", "ROU_2004", "ROU_2004", "ROU_2004", "ROU_2004", "ROU_2004",
"ROU_2004", "ROU_2004", "ROU_2004", "ROU_2009", "ROU_2009", "ROU_2009",
"ROU_2014", "ROU_2014", "SRB_2012", "SRB_2012", "SRB_2012", "SRB_2012",
"SRB_2012", "SRB_2012", "SRB_2012", "SRB_2012", "URY_2009", "URY_2009",
"URY_2009", "URY_2009", "URY_2009"), pcv_PR_A = c(37.08, 37.08,
37.08, 37.08, 37.08, 37.08, 37.08, 46.4, 46.4, 46.4, 46.4, 46.4,
46.4, 46.4, 46.4, 46.4, NA, NA, NA, NA, NA, 46.91, 46.91, 46.91,
46.91, 46.91, 46.91, 46.91, 46.91, 41.59, 41.59, 41.59, 41.59,
41.59, 41.59, 41.59, 41.59, 41.59, 41.59, 41.59, 41.59, 41.59,
41.59, 41.59, 41.59, 41.59, 41.59, 47.9, 47.9, 47.9, 23.23, 23.23,
23.23, 23.23, 23.23, 23.23, 23.23, NA, NA, NA, NA, NA, NA, NA,
19.88, 19.88, 19.88, 19.88, 28.63, 28.63, 28.63, 28.63, 28.63,
28.63, 28.63, 28.63, 28.63, 28.63, 28.63, 44.7, 44.7, 44.7, 44.7,
49.9, 49.9, 49.9, 49.9, 49.9, 36.5, 36.5, 36.5, 36.5, 30.62,
30.62, 30.62, 30.62, 30.62, 30.62, 30.62, 30.62, 30.62, 31.7,
31.7, 31.7, 31.7, 31.7, 31.7, 31.7, 31.7, 31.7, 39.86, 39.86,
39.86, 39.86, 39.86, 39.86, 39.86, 39.86, 28.2, 28.2, 28.2, 28.2,
28.2, 40.94, 40.94, 40.94, 40.94, 40.94, 40.94, 40.94, 40.94,
40.94, 32.44, 32.44, 32.44, 40.44, 40.44, 25.05, 25.05, 25.05,
25.05, 25.05, 25.05, 25.05, 25.05, 47.96, 47.96, 47.96, 47.96,
47.96), pcv_PR_B = c(34.15, 34.15, 34.15, 34.15, 34.15, 34.15,
34.15, 23.2, 23.2, 23.2, 23.2, 23.2, 23.2, 23.2, 23.2, 23.2,
48.6, 48.6, 48.6, 48.6, 48.6, NA, NA, NA, NA, NA, NA, NA, NA,
33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54,
33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54, 33.54,
47.5, 47.5, 47.5, NA, NA, NA, NA, NA, NA, NA, 44.06, 44.06, 44.06,
44.06, 44.06, 44.06, 44.06, 16.86, 16.86, 16.86, 16.86, 27.18,
27.18, 27.18, 27.18, 27.18, 27.18, 27.18, 27.18, 27.18, 27.18,
27.18, 27.6, 27.6, 27.6, 27.6, 40.2, 40.2, 40.2, 40.2, 40.2,
25.7, 25.7, 25.7, 25.7, 24.32, 24.32, 24.32, 24.32, 24.32, 24.32,
24.32, 24.32, 24.32, 23.55, 23.55, 23.55, 23.55, 23.55, 23.55,
23.55, 23.55, 23.55, 21.05, 21.05, 21.05, 21.05, 21.05, 21.05,
21.05, 21.05, 32.2, 32.2, 32.2, 32.2, 32.2, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 31.15, 31.15, 31.15, 30.37, 30.37, 25.31, 25.31,
25.31, 25.31, 25.31, 25.31, 25.31, 25.31, 29.07, 29.07, 29.07,
29.07, 29.07), pcv_PR_C = c(21.39, 21.39, 21.39, 21.39, 21.39,
21.39, 21.39, NA, NA, NA, NA, NA, NA, NA, NA, NA, 41.6, 41.6,
41.6, 41.6, 41.6, 32.61, 32.61, 32.61, 32.61, 32.61, 32.61, 32.61,
32.61, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 3.6, 3.6, 3.6, NA, NA, NA, NA, NA, NA, NA, 29.6,
29.6, 29.6, 29.6, 29.6, 29.6, 29.6, 16.18, 16.18, 16.18, 16.18,
17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9,
15.7, 15.7, 15.7, 15.7, NA, NA, NA, NA, NA, 24.3, 24.3, 24.3,
24.3, 23.81, 23.81, 23.81, 23.81, 23.81, 23.81, 23.81, 23.81,
23.81, 18.5, 18.5, 18.5, 18.5, 18.5, 18.5, 18.5, 18.5, 18.5,
18.74, 18.74, 18.74, 18.74, 18.74, 18.74, 18.74, 18.74, 20.5,
20.5, 20.5, 20.5, 20.5, 33.92, 33.92, 33.92, 33.92, 33.92, 33.92,
33.92, 33.92, 33.92, 20.02, 20.02, 20.02, 5.2, 5.2, 14.23, 14.23,
14.23, 14.23, 14.23, 14.23, 14.23, 14.23, 17.02, 17.02, 17.02,
17.02, 17.02), pcv_PR_D = c(3.23, 3.23, 3.23, 3.23, 3.23, 3.23,
3.23, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.5, 0.5, 0.5, 25.41,
25.41, 25.41, 25.41, 25.41, 25.41, 25.41, NA, NA, NA, NA, NA,
NA, NA, 6.84, 6.84, 6.84, 6.84, 11.1, 11.1, 11.1, 11.1, 11.1,
11.1, 11.1, 11.1, 11.1, 11.1, 11.1, 5.7, 5.7, 5.7, 5.7, 3.1,
3.1, 3.1, 3.1, 3.1, 9.8, 9.8, 9.8, 9.8, 7.43, 7.43, 7.43, 7.43,
7.43, 7.43, 7.43, 7.43, 7.43, 15.63, 15.63, 15.63, 15.63, 15.63,
15.63, 15.63, 15.63, 15.63, NA, NA, NA, NA, NA, NA, NA, NA, 6,
6, 6, 6, 6, 12.57, 12.57, 12.57, 12.57, 12.57, 12.57, 12.57,
12.57, 12.57, 5.56, 5.56, 5.56, 4.03, 4.03, 7.44, 7.44, 7.44,
7.44, 7.44, 7.44, 7.44, 7.44, 2.49, 2.49, 2.49, 2.49, 2.49),
pcv_PR_E = c(2.51, 2.51, 2.51, 2.51, 2.51, 2.51, 2.51, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 2.6, 2.6, 2.6, 2.6, 2.6,
NA, NA, NA, NA, NA, NA, NA, NA, 21.32, 21.32, 21.32, 21.32,
21.32, 21.32, 21.32, 21.32, 21.32, 21.32, 21.32, 21.32, 21.32,
21.32, 21.32, 21.32, 21.32, 21.32, 0.4, 0.4, 0.4, 45.96,
45.96, 45.96, 45.96, 45.96, 45.96, 45.96, NA, NA, NA, NA,
NA, NA, NA, 5.72, 5.72, 5.72, 5.72, 9.13, 9.13, 9.13, 9.13,
9.13, 9.13, 9.13, 9.13, 9.13, 9.13, 9.13, 4, 4, 4, 4, 0.4,
0.4, 0.4, 0.4, 0.4, 1.6, 1.6, 1.6, 1.6, 5.75, 5.75, 5.75,
5.75, 5.75, 5.75, 5.75, 5.75, 5.75, 9.83, 9.83, 9.83, 9.83,
9.83, 9.83, 9.83, 9.83, 9.83, 5.83, 5.83, 5.83, 5.83, 5.83,
5.83, 5.83, 5.83, 4.7, 4.7, 4.7, 4.7, 4.7, 5.1, 5.1, 5.1,
5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 3.83, 3.83, 3.83, 3.68, 3.68,
5.03, 5.03, 5.03, 5.03, 5.03, 5.03, 5.03, 5.03, 0.67, 0.67,
0.67, 0.67, 0.67), pcv_PR_F = c(1.64, 1.64, 1.64, 1.64, 1.64,
1.64, 1.64, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9, 17.9,
17.9, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, 0.3, 0.3, 0.3, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, 5.33, 5.33, 5.33, 5.33, 2.31, 2.31,
2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 0.9,
0.9, 0.9, 0.9, 1.8, 1.8, 1.8, 1.8, 1.8, 0.8, 0.8, 0.8, 0.8,
4.38, 4.38, 4.38, 4.38, 4.38, 4.38, 4.38, 4.38, 4.38, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 6.97, 6.97, 6.97, 6.97, 6.97,
6.97, 6.97, 6.97, 3.2, 3.2, 3.2, 3.2, 3.2, NA, NA, NA, NA,
NA, NA, NA, NA, NA, 3.18, 3.18, 3.18, 3.47, 3.47, 6.58, 6.58,
6.58, 6.58, 6.58, 6.58, 6.58, 6.58, NA, NA, NA, NA, NA),
pcv_PR_G = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, 6.21, 6.21, 6.21, 6.21, 6.21, 6.21, 6.21, 5.25, 5.25,
5.25, 5.25, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
4, 4, 4, 4, 4, 4, 4, 4, NA, NA, NA, NA, NA, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.91, 1.91, 1.91, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), pcv_PR_H = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 20.14, 20.14,
20.14, 20.14, 20.14, 20.14, 20.14, 3.91, 3.91, 3.91, 3.91,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.3, 1.3,
1.3, 1.3, 1.3, 1.3, 1.3, 1.3, NA, NA, NA, NA, NA, 1.9, 1.9,
1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, NA, NA, NA, 5.36, 5.36,
1.62, 1.62, 1.62, 1.62, 1.62, 1.62, 1.62, 1.62, NA, NA, NA,
NA, NA), pcv_PR_I = c(NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, 6.85, 6.85, 6.85, 6.85, 6.85,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3.37,
3.37, 3.37, 3.37, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, 1.32, 1.32, 1.32, 1.32, 1.32, 1.32, 1.32, 1.32, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, 4.44, 4.44, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA), ideolparty_A = c(2, 10, 4, NA, 5, 5, 6, NA, 0, 8,
10, 0, 10, 0, 10, 7, NA, NA, NA, NA, NA, NA, NA, 10, NA,
NA, 10, NA, 1, 3, 2, 9, NA, 0, NA, 1, NA, NA, 4, NA, NA,
3, NA, NA, 3, 3, NA, NA, NA, NA, 10, 10, NA, NA, 3, 10, NA,
NA, NA, NA, NA, NA, NA, NA, 7, 3, 3, 6, 2, 7, 3, 2, 2, 4,
2, 0, 4, 2, 7, NA, NA, NA, NA, 8, 3, 2, 5, 0, 8, 2, 10, 0,
0, NA, 6, NA, 5, 0, 8, 2, 1, 0, 0, 5, 3, 0, NA, 4, 3, NA,
0, 0, 5, NA, 10, 5, 8, 5, 5, 6, NA, NA, 3, 0, 1, 4, 7, NA,
NA, 6, NA, NA, 10, 5, 9, NA, NA, 6, 5, 4, 3, 5, 4, NA, 6,
2, 10, 0, NA, 3), ideolparty_B = c(7.5, 1, 7, NA, 7.5, 8.5,
5, NA, 7, 9, 10, NA, 10, 2, 6, 6, 3, 0, 10, 0, NA, NA, NA,
NA, NA, NA, NA, NA, NA, 8, 8, 3, NA, 9, NA, 10, NA, NA, 4,
NA, NA, 7, NA, NA, 7, 7, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, 10, 10, 0, 10, 9, 9, 10, 2, 10, 10, 10, 9, 6,
7, 8, 8, 9, 8, 10, 7, 5, 8, NA, NA, NA, NA, 10, 8, 5, 5,
10, 8, 1, 2, 0, 10, NA, 7, NA, 7, 5, 6, 5, 2, 8, 10, 6, 9,
9, NA, 5, 5, 8, 5, 0, 10, NA, 7, 6, 7, 9, 6, 1, NA, NA, 4,
NA, NA, NA, NA, NA, NA, NA, NA, NA, 0, 8, 1, NA, NA, 3, 5,
4, 2, 5, 0, NA, 3, 8, 0, 8, NA, 8), ideolparty_C = c(6, 1,
5, NA, 10, 7, 5, NA, NA, NA, NA, NA, NA, NA, NA, NA, 7, 10,
0, 10, NA, NA, NA, 10, NA, NA, 1, NA, 4, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, 5, 5, 6, 6, 5, 2, 2,
8, 0, 8, 5, 9, 10, 10, 9, 8, 10, 10, 10, 10, 10, 7, 4, 4,
10, NA, NA, NA, NA, NA, NA, 8, 1, 0, 3, 10, NA, 3, NA, 8,
6, 5, 9, NA, 7, 10, 7, 6, 5, NA, 8, NA, 4, 5, 0, 5, NA, 0,
2, 9, 10, 8, 1, NA, NA, 5, 10, 8, 6, 3, NA, NA, 6, NA, NA,
10, 8, 7, NA, NA, 2, 0, 4, 2, 5, 3, NA, 3, 8, 0, 5, NA, 9
), ideolparty_D = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 9, 9, NA, NA, 3,
10, NA, NA, NA, NA, NA, NA, NA, NA, 6, 5, NA, 7, 0, 7, 1,
1, 0, 2, 4, 2, 2, 2, 5, 4, 4, 8, NA, 2, 7, 4, 3, NA, 5, 3,
1, 3, 5, NA, 2, NA, 8, 4, 5, 4, 1, 10, 10, 6, 10, 6, NA,
10, 6, 6, NA, NA, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA,
0, 0, 0, 0, NA, NA, 6, NA, NA, 5, 5, 2, NA, NA, 4, 9, 4,
1, 5, 4, NA, 4, 6, 0, 2, NA, 3), ideolparty_E = c(9, 0, 7,
NA, 6, 5, 5, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4, 2, 10,
0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 5, 4, NA, 3, NA,
1, NA, NA, 5, NA, NA, 4, NA, NA, 5, 5, NA, NA, NA, NA, 1,
2, NA, NA, 7, 1, NA, NA, NA, NA, NA, NA, NA, NA, 7, 2, 8,
4, 5, NA, 5, 6, 4, 8, 6, 3, 5, NA, 5, NA, 4, 8, NA, 6, 4,
4, 2, NA, 5, 1, 2, NA, 5, NA, 1, NA, 3, 5, 4, 5, 0, 5, 10,
5, 7, 6, NA, 9, NA, 7, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 0, 0, 8, 5, NA, NA, 6, NA, NA, 5, 5, 6, NA,
NA, 4, 5, 4, 1, 5, 0, NA, 3, 1, 0, 1, NA, 0), ideol1 = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), row.names = c(NA,
-150L), class = "data.frame")
输出将是这样的(对于一些随机的行,看看它是如何不同的输入"pcv"one_answers"ideol"
# A tibble: 6 x 13
election ideol1 ideol2 ideolparty_A ideolparty_B ideolparty_C ideolparty_D ideolparty_E pcv_PR_A pcv_PR_B pcv_PR_C pcv_PR_D pcv_PR_E
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 CHL_2009 10 6 NA 10 6 NA NA NA 44.1 29.6 NA NA
2 ROU_2004 NA NA NA NA NA NA NA 40.9 NA 33.9 12.6 5.1
3 BRA_2002 0 7 0 7 NA NA NA 46.4 23.2 NA NA NA
4 BRA_2006 0 10 NA 0 10 NA 2 NA 48.6 41.6 NA 2.6
5 CHL_2005 NA NA NA NA NA NA NA 23.2 NA NA 25.4 46.0
6 CHL_1999 NA NA NA NA NA NA NA 47.9 47.5 3.6 0.5 0.4
以下是pivot_longer
和pivot_wider
的一个想法:
out <- df %>%
mutate(row = row_number()) %>%
pivot_longer(cols = contains("pcv_PR"),
names_to = "name",
values_to = "value") %>%
group_by(row) %>%
arrange(row, desc(value)) %>%
mutate(ideol1 = get(paste0("ideolparty_",
substr(name[1], nchar(name[1]), nchar(name[1])))),
ideol2 = get(paste0("ideolparty_",
substr(name[2], nchar(name[2]), nchar(name[2]))))) %>%
ungroup() %>%
pivot_wider(id_cols = -c(name, value),
names_from = name,
values_from = value)
下面是结果的剪辑:
> head(out %>%
+ select(-contains(c("ideolparty", "row"))))
# A tibble: 6 x 12
election ideol1 ideol2 pcv_PR_B pcv_PR_C pcv_PR_H pcv_PR_G pcv_PR_A pcv_PR_D pcv_PR_E pcv_PR_F pcv_PR_I
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 CHL_2009 10 5 44.1 29.6 20.1 6.21 NA NA NA NA NA
2 ROU_1996 6 5 32.2 20.5 NA NA 28.2 6 4.7 3.2 NA
3 PER_2006 0 10 24.3 23.8 NA NA 30.6 7.43 5.75 4.38 NA
4 BRA_2014 3 8 33.5 NA NA NA 41.6 NA 21.3 NA NA
5 PER_2011 0 8 23.6 18.5 NA NA 31.7 15.6 9.83 NA NA
6 SRB_2012 3 6 25.3 14.2 1.62 NA 25.0 7.44 5.03 6.58 NA