我有这个数据集(示例)。如果你注意到,第一列和第二列是描述性的,不会改变。第三、第四和第五列有动态值(但也有动态列名)。然后,第六、第七和第八列,然后第九个第十个第十一列值动态值等等。(在真实数据集中,我有1000多列)
总而言之,从某一点开始,每三列都有相同的信息。
我正在尝试有一个包含5列的最终数据集,其中前两列将是“精细运动”和“技能”。第三、第四和第五个将收集所有其他值并将它们放在下面。
下图显示了最终数据集的样子:
任何帮助都是有价值的。请使用下面的代码(我很乐意留在tidyverse框架内)
ds <- structure(list(fine_motor = c("2.2", "2.2"), skill = c("B. Functional Use",
"A. Reach, Grab, Release"), spread_sheet_id_3 = c(1, 1), score_s_4 = c(2,
2), confirm_s_5 = c("Meets", "Meets"), spread_sheet_id_7 = c(2,
2), score_s_8 = c(2, 2), confirm_s_9 = c("Meets", "Meets"), spread_sheet_id_11 = c(3,
3), score_s_12 = c(2, 2), confirm_s_13 = c("Meets", "Meets"),
spread_sheet_id_15 = c(4, 4), score_s_16 = c(1, 2), confirm_s_17 = c("Inconsistent",
"Meets"), spread_sheet_id_19 = c(5, 5), score_s_20 = c(1,
2), confirm_s_21 = c("Inconsistent", "Meets"), spread_sheet_id_23 = c(6,
6), score_s_24 = c(2, 2), confirm_s_25 = c("Meets", "Meets"
), spread_sheet_id_27 = c(7, 7), score_s_28 = c(0, 1), confirm_s_29 = c("Does Not",
"Inconsistent"), spread_sheet_id_31 = c(8, 8), score_s_32 = c(2,
2), confirm_s_33 = c("Meets", "Meets"), spread_sheet_id_35 = c(9,
9), score_s_36 = c(1, 2), confirm_s_37 = c("Inconsistent",
"Meets"), spread_sheet_id_39 = c(10, 10), score_s_40 = c(2,
2), confirm_s_41 = c("Meets", "Meets"), spread_sheet_id_43 = c(11,
11), score_s_44 = c(0, 2), confirm_s_45 = c("Does Not", "Meets"
), spread_sheet_id_47 = c(12, 12), score_s_48 = c(0, 2),
confirm_s_49 = c("Does Not", "Meets"), spread_sheet_id_51 = c(13,
13), score_s_52 = c(2, 2), confirm_s_53 = c("Meets", "Meets"
), spread_sheet_id_55 = c(14, 14), score_s_56 = c(2, 2),
confirm_s_57 = c("Meets", "Meets"), spread_sheet_id_59 = c(15,
15), score_s_60 = c(2, 2), confirm_s_61 = c("Meets", "Meets"
), spread_sheet_id_63 = c(16, 16), score_s_64 = c(2, 2),
confirm_s_65 = c("Meets", "Meets"), spread_sheet_id_67 = c(17,
17), score_s_68 = c(2, 2), confirm_s_69 = c("Meets", "Meets"
), spread_sheet_id_71 = c(18, 18), score_s_72 = c(2, 2),
confirm_s_73 = c("Meets", "Meets"), spread_sheet_id_75 = c(19,
19), score_s_76 = c(2, 2), confirm_s_77 = c("Meets", "Meets"
), spread_sheet_id_79 = c(20, 20), score_s_80 = c(1, 2),
confirm_s_81 = c("Inconsistent", "Meets"), spread_sheet_id_83 = c(21,
21), score_s_84 = c(0, 2), confirm_s_85 = c("Does Not", "Meets"
), spread_sheet_id_87 = c(22, 22), score_s_88 = c(0, 1),
confirm_s_89 = c("Does Not", "Inconsistent"), spread_sheet_id_91 = c(23,
23), score_s_92 = c(0, 0), confirm_s_93 = c("Does Not", "Does Not"
), spread_sheet_id_95 = c(24, 24), score_s_96 = c(0, 0),
confirm_s_97 = c("Does Not", "Does Not"), spread_sheet_id_99 = c(25,
25), score_s_100 = c(0, 0), confirm_s_101 = c("Does Not",
"Does Not"), spread_sheet_id_103 = c(26, 26), score_s_104 = c(0,
0), confirm_s_105 = c("Does Not", "Does Not"), spread_sheet_id_107 = c(27,
27), score_s_108 = c(0, 0), confirm_s_109 = c("Does Not",
"Does Not"), spread_sheet_id_111 = c(28, 28), score_s_112 = c(0,
0), confirm_s_113 = c("Does Not", "Does Not"), spread_sheet_id_115 = c(29,
29), score_s_116 = c(0, 0), confirm_s_117 = c("Does Not",
"Does Not"), spread_sheet_id_119 = c(30, 30), score_s_120 = c(0,
0), confirm_s_121 = c("Does Not", "Does Not"), spread_sheet_id_123 = c(31,
31), score_s_124 = c(0, 0), confirm_s_125 = c("Does Not",
"Does Not"), spread_sheet_id_127 = c(32, 32), score_s_128 = c(0,
0), confirm_s_129 = c("Does Not", "Does Not"), spread_sheet_id_131 = c(33,
33), score_s_132 = c(0, 0), confirm_s_133 = c("Does Not",
"Does Not"), spread_sheet_id_135 = c(34, 34), score_s_136 = c(0,
0), confirm_s_137 = c("Does Not", "Does Not"), spread_sheet_id_139 = c(35,
35), score_s_140 = c(0, 0), confirm_s_141 = c("Does Not",
"Does Not"), spread_sheet_id_143 = c(36, 36), score_s_144 = c(0,
0), confirm_s_145 = c("Does Not", "Does Not"), spread_sheet_id_147 = c(37,
37), score_s_148 = c(0, 0), confirm_s_149 = c("Does Not",
"Does Not"), spread_sheet_id_151 = c(38, 38), score_s_152 = c(0,
0), confirm_s_153 = c("Does Not", "Does Not"), spread_sheet_id_155 = c(39,
39), score_s_156 = c(0, 0), confirm_s_157 = c("Does Not",
"Does Not"), spread_sheet_id_159 = c(40, 40), score_s_160 = c(0,
0), confirm_s_161 = c("Does Not", "Does Not"), spread_sheet_id_163 = c(41,
41), score_s_164 = c(0, 0), confirm_s_165 = c("Does Not",
"Does Not"), spread_sheet_id_167 = c(42, 42), score_s_168 = c(0,
0), confirm_s_169 = c("Does Not", "Does Not"), spread_sheet_id_171 = c(43,
43), score_s_172 = c(0, 0), confirm_s_173 = c("Does Not",
"Does Not"), spread_sheet_id_175 = c(44, 44), score_s_176 = c(0,
0), confirm_s_177 = c("Does Not", "Does Not"), spread_sheet_id_179 = c(45,
45), score_s_180 = c(0, 0), confirm_s_181 = c("Does Not",
"Does Not"), spread_sheet_id_183 = c(46, 46), score_s_184 = c(0,
0), confirm_s_185 = c("Does Not", "Does Not"), spread_sheet_id_187 = c(47,
47), score_s_188 = c(0, 0), confirm_s_189 = c("Does Not",
"Does Not"), spread_sheet_id_191 = c(48, 48), score_s_192 = c(0,
0), confirm_s_193 = c("Does Not", "Does Not"), spread_sheet_id_195 = c(49,
49), score_s_196 = c(0, 0), confirm_s_197 = c("Does Not",
"Does Not"), spread_sheet_id_199 = c(50, 50), score_s_200 = c(0,
0), confirm_s_201 = c("Does Not", "Does Not"), spread_sheet_id_203 = c(51,
51), score_s_204 = c(0, 0), confirm_s_205 = c("Does Not",
"Does Not"), spread_sheet_id_207 = c(52, 52), score_s_208 = c(0,
0), confirm_s_209 = c("Does Not", "Does Not"), spread_sheet_id_211 = c(53,
53), score_s_212 = c(0, 0), confirm_s_213 = c("Does Not",
"Does Not"), spread_sheet_id_215 = c(54, 54), score_s_216 = c(0,
0), confirm_s_217 = c("Does Not", "Does Not"), spread_sheet_id_219 = c(55,
55), score_s_220 = c(0, 0), confirm_s_221 = c("Does Not",
"Does Not"), spread_sheet_id_223 = c(56, 56), score_s_224 = c(0,
0), confirm_s_225 = c("Does Not", "Does Not"), spread_sheet_id_227 = c(57,
57), score_s_228 = c(0, 0), confirm_s_229 = c("Does Not",
"Does Not"), spread_sheet_id_231 = c(58, 58), score_s_232 = c(0,
0), confirm_s_233 = c("Does Not", "Does Not"), spread_sheet_id_235 = c(59,
59), score_s_236 = c(0, 0), confirm_s_237 = c("Does Not",
"Does Not"), spread_sheet_id_239 = c(60, 60), score_s_240 = c(0,
0), confirm_s_241 = c("Does Not", "Does Not"), spread_sheet_id_243 = c(61,
61), score_s_244 = c(0, 0), confirm_s_245 = c("Does Not",
"Does Not"), spread_sheet_id_247 = c(62, 62), score_s_248 = c(0,
0), confirm_s_249 = c("Does Not", "Does Not"), spread_sheet_id_251 = c(63,
63), score_s_252 = c(0, 0), confirm_s_253 = c("Does Not",
"Does Not"), spread_sheet_id_255 = c(64, 64), score_s_256 = c(0,
0), confirm_s_257 = c("Does Not", "Does Not"), spread_sheet_id_259 = c(65,
65), score_s_260 = c(0, 0), confirm_s_261 = c("Does Not",
"Does Not"), spread_sheet_id_263 = c(66, 66), score_s_264 = c(0,
0), confirm_s_265 = c("Does Not", "Does Not"), spread_sheet_id_267 = c(67,
67), score_s_268 = c(0, 0), confirm_s_269 = c("Does Not",
"Does Not"), spread_sheet_id_271 = c(68, 68), score_s_272 = c(0,
0), confirm_s_273 = c("Does Not", "Does Not"), spread_sheet_id_275 = c(69,
69), score_s_276 = c(0, 0), confirm_s_277 = c("Does Not",
"Does Not"), spread_sheet_id_279 = c(70, 70), score_s_280 = c(0,
0), confirm_s_281 = c("Does Not", "Does Not"), spread_sheet_id_283 = c(71,
71), score_s_284 = c(0, 0), confirm_s_285 = c("Does Not",
"Does Not"), spread_sheet_id_287 = c(72, 72), score_s_288 = c(0,
0), confirm_s_289 = c("Does Not", "Does Not"), spread_sheet_id_291 = c(73,
73), score_s_292 = c(0, 0), confirm_s_293 = c("Does Not",
"Does Not"), spread_sheet_id_295 = c(74, 74), score_s_296 = c(0,
0), confirm_s_297 = c("Does Not", "Does Not"), spread_sheet_id_299 = c(75,
75), score_s_300 = c(0, 0), confirm_s_301 = c("Does Not",
"Does Not"), spread_sheet_id_303 = c(76, 76), score_s_304 = c(0,
0), confirm_s_305 = c("Does Not", "Does Not"), spread_sheet_id_307 = c(77,
77), score_s_308 = c(0, 0), confirm_s_309 = c("Does Not",
"Does Not"), spread_sheet_id_311 = c(78, 78), score_s_312 = c(0,
0), confirm_s_313 = c("Does Not", "Does Not"), spread_sheet_id_315 = c(79,
79), score_s_316 = c(0, 0), confirm_s_317 = c("Does Not",
"Does Not"), spread_sheet_id_319 = c(80, 80), score_s_320 = c(0,
0), confirm_s_321 = c("Does Not", "Does Not"), spread_sheet_id_323 = c(81,
81), score_s_324 = c(0, 0), confirm_s_325 = c("Does Not",
"Does Not"), spread_sheet_id_327 = c(82, 82), score_s_328 = c(0,
0), confirm_s_329 = c("Does Not", "Does Not"), spread_sheet_id_331 = c(83,
83), score_s_332 = c(0, 0), confirm_s_333 = c("Does Not",
"Does Not"), spread_sheet_id_335 = c(84, 84), score_s_336 = c(0,
0), confirm_s_337 = c("Does Not", "Does Not"), spread_sheet_id_339 = c(85,
85), score_s_340 = c(0, 0), confirm_s_341 = c("Does Not",
"Does Not"), spread_sheet_id_343 = c(86, 86), score_s_344 = c(0,
0), confirm_s_345 = c("Does Not", "Does Not"), spread_sheet_id_347 = c(87,
87), score_s_348 = c(0, 0), confirm_s_349 = c("Does Not",
"Does Not"), spread_sheet_id_351 = c(88, 88), score_s_352 = c(0,
0), confirm_s_353 = c("Does Not", "Does Not"), spread_sheet_id_355 = c(89,
89), score_s_356 = c(0, 0), confirm_s_357 = c("Does Not",
"Does Not"), spread_sheet_id_359 = c(90, 90), score_s_360 = c(0,
0), confirm_s_361 = c("Does Not", "Does Not"), spread_sheet_id_363 = c(91,
91), score_s_364 = c(0, 0), confirm_s_365 = c("Does Not",
"Does Not"), spread_sheet_id_367 = c(92, 92), score_s_368 = c(0,
0), confirm_s_369 = c("Does Not", "Does Not"), spread_sheet_id_371 = c(93,
93), score_s_372 = c(0, 0), confirm_s_373 = c("Does Not",
"Does Not"), spread_sheet_id_375 = c(94, 94), score_s_376 = c(0,
0), confirm_s_377 = c("Does Not", "Does Not"), spread_sheet_id_379 = c(95,
95), score_s_380 = c(0, 0), confirm_s_381 = c("Does Not",
"Does Not"), spread_sheet_id_383 = c(96, 96), score_s_384 = c(0,
0), confirm_s_385 = c("Does Not", "Does Not"), spread_sheet_id_387 = c(97,
97), score_s_388 = c(0, 0), confirm_s_389 = c("Does Not",
"Does Not"), spread_sheet_id_391 = c(98, 98), score_s_392 = c(0,
0), confirm_s_393 = c("Does Not", "Does Not"), spread_sheet_id_395 = c(99,
99), score_s_396 = c(0, 0), confirm_s_397 = c("Does Not",
"Does Not"), spread_sheet_id_399 = c(100, 100), score_s_400 = c(0,
0), confirm_s_401 = c("Does Not", "Does Not"), spread_sheet_id_403 = c(101,
101), score_s_404 = c(0, 0), confirm_s_405 = c("Does Not",
"Does Not"), spread_sheet_id_407 = c(102, 102), score_s_408 = c(0,
0), confirm_s_409 = c("Does Not", "Does Not"), spread_sheet_id_411 = c(103,
103), score_s_412 = c(0, 0), confirm_s_413 = c("Does Not",
"Does Not"), spread_sheet_id_415 = c(104, 104), score_s_416 = c(0,
0), confirm_s_417 = c("Does Not", "Does Not"), spread_sheet_id_419 = c(105,
105), score_s_420 = c(0, 0), confirm_s_421 = c("Does Not",
"Does Not"), spread_sheet_id_423 = c(106, 106), score_s_424 = c(0,
0), confirm_s_425 = c("Does Not", "Does Not"), spread_sheet_id_427 = c(107,
107), score_s_428 = c(0, 0), confirm_s_429 = c("Does Not",
"Does Not"), spread_sheet_id_431 = c(108, 108), score_s_432 = c(0,
0), confirm_s_433 = c("Does Not", "Does Not"), spread_sheet_id_435 = c(109,
109), score_s_436 = c(0, 0), confirm_s_437 = c("Does Not",
"Does Not"), spread_sheet_id_439 = c(110, 110), score_s_440 = c(0,
0), confirm_s_441 = c("Does Not", "Does Not"), spread_sheet_id_443 = c(111,
111), score_s_444 = c(0, 0), confirm_s_445 = c("Does Not",
"Does Not"), spread_sheet_id_447 = c(112, 112), score_s_448 = c(0,
0), confirm_s_449 = c("Does Not", "Does Not"), spread_sheet_id_451 = c(113,
113), score_s_452 = c(0, 0), confirm_s_453 = c("Does Not",
"Does Not"), spread_sheet_id_455 = c(114, 114), score_s_456 = c(0,
0), confirm_s_457 = c("Does Not", "Does Not"), spread_sheet_id_459 = c(115,
115), score_s_460 = c(0, 0), confirm_s_461 = c("Does Not",
"Does Not"), spread_sheet_id_463 = c(116, 116), score_s_464 = c(0,
0), confirm_s_465 = c("Does Not", "Does Not"), spread_sheet_id_467 = c(117,
117), score_s_468 = c(0, 0), confirm_s_469 = c("Does Not",
"Does Not"), spread_sheet_id_471 = c(118, 118), score_s_472 = c(0,
0), confirm_s_473 = c("Does Not", "Does Not"), spread_sheet_id_475 = c(119,
119), score_s_476 = c(0, 0), confirm_s_477 = c("Does Not",
"Does Not"), spread_sheet_id_479 = c(120, 120), score_s_480 = c(0,
0), confirm_s_481 = c("Does Not", "Does Not"), spread_sheet_id_483 = c(121,
121), score_s_484 = c(0, 0), confirm_s_485 = c("Does Not",
"Does Not"), spread_sheet_id_487 = c(122, 122), score_s_488 = c(0,
0), confirm_s_489 = c("Does Not", "Does Not"), spread_sheet_id_491 = c(123,
123), score_s_492 = c(0, 0), confirm_s_493 = c("Does Not",
"Does Not"), spread_sheet_id_495 = c(124, 124), score_s_496 = c(0,
0), confirm_s_497 = c("Does Not", "Does Not"), spread_sheet_id_499 = c(125,
125), score_s_500 = c(0, 0), confirm_s_501 = c("Does Not",
"Does Not"), spread_sheet_id_503 = c(126, 126), score_s_504 = c(0,
0), confirm_s_505 = c("Does Not", "Does Not"), spread_sheet_id_507 = c(127,
127), score_s_508 = c(0, 0), confirm_s_509 = c("Does Not",
"Does Not"), spread_sheet_id_511 = c(128, 128), score_s_512 = c(0,
0), confirm_s_513 = c("Does Not", "Does Not"), spread_sheet_id_515 = c(129,
129), score_s_516 = c(0, 0), confirm_s_517 = c("Does Not",
"Does Not"), spread_sheet_id_519 = c(130, 130), score_s_520 = c(0,
0), confirm_s_521 = c("Does Not", "Does Not"), spread_sheet_id_523 = c(131,
131), score_s_524 = c(0, 0), confirm_s_525 = c("Does Not",
"Does Not"), spread_sheet_id_527 = c(132, 132), score_s_528 = c(0,
0), confirm_s_529 = c("Does Not", "Does Not"), spread_sheet_id_531 = c(133,
133), score_s_532 = c(0, 0), confirm_s_533 = c("Does Not",
"Does Not"), spread_sheet_id_535 = c(134, 134), score_s_536 = c(0,
0), confirm_s_537 = c("Does Not", "Does Not"), spread_sheet_id_539 = c(135,
135), score_s_540 = c(0, 0), confirm_s_541 = c("Does Not",
"Does Not"), spread_sheet_id_543 = c(136, 136), score_s_544 = c(0,
0), confirm_s_545 = c("Does Not", "Does Not"), spread_sheet_id_547 = c(137,
137), score_s_548 = c(0, 0), confirm_s_549 = c("Does Not",
"Does Not"), spread_sheet_id_551 = c(138, 138), score_s_552 = c(0,
0), confirm_s_553 = c("Does Not", "Does Not"), spread_sheet_id_555 = c(139,
139), score_s_556 = c(0, 0), confirm_s_557 = c("Does Not",
"Does Not"), spread_sheet_id_559 = c(140, 140), score_s_560 = c(0,
0), confirm_s_561 = c("Does Not", "Does Not"), spread_sheet_id_563 = c(141,
141), score_s_564 = c(0, 0), confirm_s_565 = c("Does Not",
"Does Not"), spread_sheet_id_567 = c(142, 142), score_s_568 = c(0,
0), confirm_s_569 = c("Does Not", "Does Not"), spread_sheet_id_571 = c(143,
143), score_s_572 = c(0, 0), confirm_s_573 = c("Does Not",
"Does Not"), spread_sheet_id_575 = c(144, 144), score_s_576 = c(0,
0), confirm_s_577 = c("Does Not", "Does Not"), spread_sheet_id_579 = c(145,
145), score_s_580 = c(0, 0), confirm_s_581 = c("Does Not",
"Does Not"), spread_sheet_id_583 = c(146, 146), score_s_584 = c(0,
0), confirm_s_585 = c("Does Not", "Does Not"), spread_sheet_id_587 = c(147,
147), score_s_588 = c(0, 0), confirm_s_589 = c("Does Not",
"Does Not"), spread_sheet_id_591 = c(148, 148), score_s_592 = c(0,
0), confirm_s_593 = c("Does Not", "Does Not"), spread_sheet_id_595 = c(149,
149), score_s_596 = c(0, 0), confirm_s_597 = c("Does Not",
"Does Not"), spread_sheet_id_599 = c(150, 150), score_s_600 = c(0,
0), confirm_s_601 = c("Does Not", "Does Not"), spread_sheet_id_603 = c(151,
151), score_s_604 = c(0, 0), confirm_s_605 = c("Does Not",
"Does Not"), spread_sheet_id_607 = c(152, 152), score_s_608 = c(0,
0), confirm_s_609 = c("Does Not", "Does Not"), spread_sheet_id_611 = c(153,
153), score_s_612 = c(0, 0), confirm_s_613 = c("Does Not",
"Does Not"), spread_sheet_id_615 = c(154, 154), score_s_616 = c(0,
0), confirm_s_617 = c("Does Not", "Does Not"), spread_sheet_id_619 = c(155,
155), score_s_620 = c(0, 0), confirm_s_621 = c("Does Not",
"Does Not"), spread_sheet_id_623 = c(156, 156), score_s_624 = c(0,
0), confirm_s_625 = c("Does Not", "Does Not"), spread_sheet_id_627 = c(157,
157), score_s_628 = c(0, 0), confirm_s_629 = c("Does Not",
"Does Not"), spread_sheet_id_631 = c(158, 158), score_s_632 = c(0,
0), confirm_s_633 = c("Does Not", "Does Not"), spread_sheet_id_635 = c(159,
159), score_s_636 = c(0, 0), confirm_s_637 = c("Does Not",
"Does Not"), spread_sheet_id_639 = c(160, 160), score_s_640 = c(0,
0), confirm_s_641 = c("Does Not", "Does Not"), spread_sheet_id_643 = c(161,
161), score_s_644 = c(0, 0), confirm_s_645 = c("Does Not",
"Does Not"), spread_sheet_id_647 = c(162, 162), score_s_648 = c(0,
0), confirm_s_649 = c("Does Not", "Does Not"), spread_sheet_id_651 = c(163,
163), score_s_652 = c(0, 0), confirm_s_653 = c("Does Not",
"Does Not"), spread_sheet_id_655 = c(164, 164), score_s_656 = c(0,
0), confirm_s_657 = c("Does Not", "Does Not"), spread_sheet_id_659 = c(165,
165), score_s_660 = c(0, 0), confirm_s_661 = c("Does Not",
"Does Not"), spread_sheet_id_663 = c(166, 166), score_s_664 = c(0,
0), confirm_s_665 = c("Does Not", "Does Not"), spread_sheet_id_667 = c(167,
167), score_s_668 = c(0, 0), confirm_s_669 = c("Does Not",
"Does Not"), spread_sheet_id_671 = c(168, 168), score_s_672 = c(0,
0), confirm_s_673 = c("Does Not", "Does Not"), spread_sheet_id_675 = c(169,
169), score_s_676 = c(0, 0), confirm_s_677 = c("Does Not",
"Does Not"), spread_sheet_id_679 = c(170, 170), score_s_680 = c(0,
0), confirm_s_681 = c("Does Not", "Does Not"), spread_sheet_id_683 = c(171,
171), score_s_684 = c(0, 0), confirm_s_685 = c("Does Not",
"Does Not"), spread_sheet_id_687 = c(172, 172), score_s_688 = c(0,
0), confirm_s_689 = c("Does Not", "Does Not"), spread_sheet_id_691 = c(173,
173), score_s_692 = c(0, 0), confirm_s_693 = c("Does Not",
"Does Not"), spread_sheet_id_695 = c(174, 174), score_s_696 = c(0,
0), confirm_s_697 = c("Does Not", "Does Not"), spread_sheet_id_699 = c(175,
175), score_s_700 = c(0, 0), confirm_s_701 = c("Does Not",
"Does Not"), spread_sheet_id_703 = c(176, 176), score_s_704 = c(0,
0), confirm_s_705 = c("Does Not", "Does Not"), spread_sheet_id_707 = c(177,
177), score_s_708 = c(0, 0), confirm_s_709 = c("Does Not",
"Does Not"), spread_sheet_id_711 = c(178, 178), score_s_712 = c(0,
0), confirm_s_713 = c("Does Not", "Does Not"), spread_sheet_id_715 = c(179,
179), score_s_716 = c(0, 0), confirm_s_717 = c("Does Not",
"Does Not"), spread_sheet_id_719 = c(180, 180), score_s_720 = c(0,
0), confirm_s_721 = c("Does Not", "Does Not"), spread_sheet_id_723 = c(181,
181), score_s_724 = c(0, 0), confirm_s_725 = c("Does Not",
"Does Not"), spread_sheet_id_727 = c(182, 182), score_s_728 = c(0,
0), confirm_s_729 = c("Does Not", "Does Not"), spread_sheet_id_731 = c(183,
183), score_s_732 = c(0, 0), confirm_s_733 = c("Does Not",
"Does Not"), spread_sheet_id_735 = c(184, 184), score_s_736 = c(0,
0), confirm_s_737 = c("Does Not", "Does Not"), spread_sheet_id_739 = c(185,
185), score_s_740 = c(0, 0), confirm_s_741 = c("Does Not",
"Does Not"), spread_sheet_id_743 = c(186, 186), score_s_744 = c(0,
0), confirm_s_745 = c("Does Not", "Does Not"), spread_sheet_id_747 = c(187,
187), score_s_748 = c(0, 0), confirm_s_749 = c("Does Not",
"Does Not"), spread_sheet_id_751 = c(188, 188), score_s_752 = c(0,
0), confirm_s_753 = c("Does Not", "Does Not"), spread_sheet_id_755 = c(189,
189), score_s_756 = c(0, 0), confirm_s_757 = c("Does Not",
"Does Not"), spread_sheet_id_759 = c(190, 190), score_s_760 = c(0,
0), confirm_s_761 = c("Does Not", "Does Not"), spread_sheet_id_763 = c(191,
191), score_s_764 = c(0, 0), confirm_s_765 = c("Does Not",
"Does Not"), spread_sheet_id_767 = c(192, 192), score_s_768 = c(0,
0), confirm_s_769 = c("Does Not", "Does Not"), spread_sheet_id_771 = c(193,
193), score_s_772 = c(0, 0), confirm_s_773 = c("Does Not",
"Does Not"), spread_sheet_id_775 = c(194, 194), score_s_776 = c(0,
0), confirm_s_777 = c("Does Not", "Does Not"), spread_sheet_id_779 = c(195,
195), score_s_780 = c(0, 0), confirm_s_781 = c("Does Not",
"Does Not"), spread_sheet_id_783 = c(196, 196), score_s_784 = c(0,
0), confirm_s_785 = c("Does Not", "Does Not"), spread_sheet_id_787 = c(197,
197), score_s_788 = c(0, 0), confirm_s_789 = c("Does Not",
"Does Not"), spread_sheet_id_791 = c(198, 198), score_s_792 = c(0,
0), confirm_s_793 = c("Does Not", "Does Not"), spread_sheet_id_795 = c(199,
199), score_s_796 = c(0, 0), confirm_s_797 = c("Does Not",
"Does Not"), spread_sheet_id_799 = c(200, 200), score_s_800 = c(0,
0), confirm_s_801 = c("Does Not", "Does Not")), row.names = c(NA,
-2L), class = c("tbl_df", "tbl", "data.frame"))
这是你想要的吗?我使用自定义“规范”来定义原始格式中的哪些值属于哪些目标列:
library(tidyverse)
# build a pivoting "spec"
spec <- tibble(`.name` = names(ds)) %>%
slice(-c(1:2)) %>%
mutate(`.value` = case_when(
`.name` %>% str_detect("spread") ~ "spread_sheet",
`.name` %>% str_detect("score") ~ "score",
`.name` %>% str_detect("confirm") ~ "confirm")
)
# apply the spec
ds %>%
pivot_longer_spec(spec)
结果
# A tibble: 400 x 5
fine_motor skill spread_sheet score confirm
<chr> <chr> <dbl> <dbl> <chr>
1 2.2 B. Functional Use 1 2 Meets
2 2.2 B. Functional Use 2 2 Meets
3 2.2 B. Functional Use 3 2 Meets
4 2.2 B. Functional Use 4 1 Inconsistent
5 2.2 B. Functional Use 5 1 Inconsistent
6 2.2 B. Functional Use 6 2 Meets
7 2.2 B. Functional Use 7 0 Does Not
8 2.2 B. Functional Use 8 2 Meets
9 2.2 B. Functional Use 9 1 Inconsistent
10 2.2 B. Functional Use 10 2 Meets
# … with 390 more rows
ds %>%
pivot_longer(-one_of("fine_motor","skill"),
names_to = c(".value","group"),
names_sep = "[0-9]+"
) %>%
dplyr::select(-group)
现在试试?