데이터 프레임이 있고, 각 변수의 길이가 다릅니다 (더 짧은 변수에는 NA 값이 있음).R에있는 데이터 프레임의 루프에 대해
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 581 466 528 424 491 500 652 219 520
2 655 320 532 350 508 498 660 85 473
3 479 349 510 150 490 499 611 598 459
4 855 585 471 92 508 499 557 668 493
5 318 538 506 113 492 499 347 291 483
6 581 329 502 265 509 502 301 293 511
7 741 359 536 399 498 500 565 690 506
8 257 475 521 296 498 502 316 53 536
9 759 434 538 447 490 500 614 449 524
10 525 527 506 174 499 500 649 395 456
11 621 670 489 756 497 498 401 443 465
12 789 307 504 808 501 498 499 63 533
13 368 392 515 940 496 501 638 909 514
14 242 549 480 380 503 501 489 347 465
15 432 405 451 914 493 501 319 324 541
16 608 609 514 441 497 499 572 932 473
17 301 691 548 783 497 502 458 301 482
18 792 638 493 964 505 498 378 692 500
19 727 377 536 974 491 499 301 957 524
20 597 463 518 418 491 499 626 245 504
21 700 407 549 375 501 501 351 706 495
22 705 661 493 798 492 501 660 694 494
23 454 426 523 28 504 498 362 797 471
24 432 627 452 550 491 500 474 50 500
25 124 338 501 779 499 502 684 316 514
26 826 683 477 751 492 502 632 308 524
27 218 631 500 296 502 498 693 169 515
28 460 652 502 306 505 498 666 988 459
29 683 621 521 956 498 501 404 218 497
30 316 372 516 524 500 499 405 54 461
31 503 370 520 429 500 502 510 579 493
32 357 369 521 480 495 501 410 667 470
33 451 617 524 191 493 498 535 668 450
34 335 498 522 713 493 498 566 67 520
35 473 421 479 834 497 499 696 670 541
36 447 360 451 708 492 501 528 744 538
37 137 490 490 740 508 500 630 590 469
38 228 455 488 91 500 501 426 477 472
39 873 555 456 520 510 500 662 154 536
40 564 364 532 236 504 498 338 497 516
41 216 480 460 498 503 502 605 566 520
42 389 572 532 943 501 499 572 150 539
43 490 531 536 941 501 502 653 557 508
44 772 421 536 693 507 498 447 861 451
45 390 403 454 985 509 498 695 859 516
46 264 369 550 962 494 498 684 317 504
47 269 667 508 199 490 501 690 757 481
48 877 616 484 516 495 501 300 636 472
49 755 534 511 882 510 499 547 530 479
50 447 455 490 91 504 501 572 NA 539
51 137 555 488 520 503 500 653 NA NA
52 228 364 456 236 501 498 447 NA NA
53 873 480 532 498 501 502 NA NA NA
54 564 NA 460 943 507 499 NA NA NA
55 216 NA 532 941 509 NA NA NA NA
56 389 NA 490 693 NA NA NA NA NA
57 490 NA 488 985 NA NA NA NA NA
58 772 NA 456 NA NA NA NA NA NA
59 390 NA 532 NA NA NA NA NA NA
60 264 NA 460 NA NA NA NA NA NA
61 269 NA 532 NA NA NA NA NA NA
62 877 NA NA NA NA NA NA NA NA
63 755 NA NA NA NA NA NA NA NA
각 변수에 대해 작업을 실행 중입니다. 우선, I는 각 변수 오름차순 단일 벡터에 dataframe 컷 :
a1=dat0[order(dat0$V1),"V1"]
a2=dat0[order(dat0$V2),"V2"]
a3=dat0[order(dat0$V3),"V3"]
a4=dat0[order(dat0$V4),"V4"]
a5=dat0[order(dat0$V5),"V5"]
a6=dat0[order(dat0$V6),"V6"]
a7=dat0[order(dat0$V7),"V7"]
a8=dat0[order(dat0$V8),"V8"]
a9=dat0[order(dat0$V9),"V9"]
다음에, I는 NA를 제거한다.
lqavg.1 lqavg.2 lqavg.3 lqavg.4 lqavg.5 lqavg.6 lqavg.7 lqavg.8 lqavg.9
1 224.6667 351.5385 463.1333 175.5714 491.3846 498 347.9231 127.25 462.3333
:
a1=a1[!is.na(a1)]
a2=a2[!is.na(a2)]
a3=a3[!is.na(a3)]
a4=a4[!is.na(a4)]
a5=a5[!is.na(a5)]
a6=a6[!is.na(a6)]
a7=a7[!is.na(a7)]
a8=a8[!is.na(a8)]
a9=a9[!is.na(a9)]
마지막 I는 I가 취득 (첫 번째 변수 코드 이하)
le.1=seq(1:length(a1))
fr.1=le.1/length(a1)
df.1=data.frame(a1,le.1,fr.1)
lq.1=df.1[fr.1<=0.25,]
lqavg.1=mean(lq.1$a1)
최종 결과를 각 변수의 25 % 낮은 값의 평균을 계산
목표는 for 루프를 작성하거나 각 변수의 코드를 작성하지 않고이를 수행하는 함수를 찾는 것입니다.
친절 바커에 의해 제안 된 기능으로, 내가 얻을 :
> apply(dat0, 2, function(x) mean(x[x <= quantile(x, 0.25, na.rm = TRUE)], na.rm = TRUE))
V1 V2 V3 V4 V5 V6 V7 V8 V9
230.3750 353.3571 467.2778 184.2667 491.5000 498.0000 347.9231 139.8462 463.0769
> apply(dat0, 2, function(x) mean(x[x < quantile(x, 0.25, na.rm = TRUE)], na.rm = TRUE))
V1 V2 V3 V4 V5 V6 V7 V8 V9
230.3750 351.5385 463.1333 175.5714 491.5000 498.0000 347.9231 127.2500 463.0769
어떤 도움에 감사드립니다!
감사합니다.
환영합니다! 문제를 실행하고 문제의 코드 아래에 문맥에 사용하는 코드를 게시 할 때 문제가 무엇인지 표시하십시오. 모두가 필요한 것을 빨리 얻을 수 있습니다. 고마워! – AER
각 변수의 길이가 다르다고 말하면 이것이 데이터 프레임이면 불가능합니다. 그 안에 NA가 있다는 뜻입니까? –
불분명 함. closevote를 캐스팅하므로 한 시간 내에 명확히 할 수있는 요청에 대한 응답이 없습니다. –