前提・実現したいこと
使用ソフト:R
いくつかのcsvファイルのデータを結合、ソートし、データフレーム(sorted_data)を作成しました。
sorted_dataは多少簡略化していますが、以下のようなものになります。
name year ...
A社 1999 ...
A社 2000 ...
A社 2001 ...
A社 2002 ...
B社 1999 ...
B社 2000 ...
C社 2001 ...
C社 2002 ...
D社 1999 ...
D社 2000 ...
D社 2001 ...
E社 2002 ...
この中から1999年∼2001年のデータが'全て'揃っている企業のみを新しいデータフレームに保存したいです。目標は以下の形になります。
name year ...
A社 1999 ...
A社 2000 ...
A社 2001 ...
D社 1999 ...
D社 2000 ...
D社 2001 ...
そこで、以下のソースコードを試しました。(一行目のコードで結合されたデータをソートし、"sorted_data"というデータフレームを作成しております)
該当のソースコード
sorted_data<-arrange(merge_ALLdata,name,year) y <- c(1999:2001) hit <- c() for(coname in unique(sorted_data$"name")){ if(all(y %in% sorted_data[sorted_data$"name"==coname,"year"])){ print(paste("yes", coname)) hit <- c(hit, coname) }else{ print(paste("no", coname)) } } newdf <- sorted_data[sorted_data[,1]%in%hit,]
発生している問題・エラーメッセージ
実行した結果、コンソール画面には"no"の会社のみがプリントされ、"yes"の企業が現れない状況です。 またhitのvaluesをみると、"NULL(empty)"と表示されています。 newdfの内容を確認すると、観測数(obs.)が0となっております。 おそらく最初の条件式の書き方に何か誤りがあるのではないかと思います。 上でお示ししたコードにこだわっているわけではないので、他によいやり方があれば教えていただけると嬉しいです。 言葉足らずな部分もあるかと思いますが、ご教示お願い致します。
追記
実行環境は以下の通りになります。(sessionInfo()結果) R version 4.0.0 (2020-04-24) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19043) Matrix products: default locale: [1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japan.932 LC_MONETARY=Japanese_Japan.932 [4] LC_NUMERIC=C LC_TIME=Japanese_Japan.932 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] forcats_0.5.0 stringr_1.4.0 dplyr_1.0.0 purrr_0.3.4 readr_1.3.1 tidyr_1.1.0 tibble_3.0.1 [8] ggplot2_3.3.0 tidyverse_1.3.0 loaded via a namespace (and not attached): [1] Rcpp_1.0.4.6 cellranger_1.1.0 pillar_1.4.4 compiler_4.0.0 dbplyr_1.4.4 tools_4.0.0 lubridate_1.7.9 [8] jsonlite_1.6.1 lifecycle_0.2.0 nlme_3.1-147 gtable_0.3.0 lattice_0.20-41 pkgconfig_2.0.3 rlang_0.4.6 [15] reprex_0.3.0 cli_2.0.2 DBI_1.1.0 rstudioapi_0.11 haven_2.3.1 withr_2.2.0 xml2_1.3.2 [22] httr_1.4.1 fs_1.4.1 generics_0.0.2 vctrs_0.3.0 hms_0.5.3 grid_4.0.0 tidyselect_1.1.0 [29] glue_1.4.1 R6_2.4.1 fansi_0.4.1 readxl_1.3.1 modelr_0.1.8 blob_1.2.1 magrittr_1.5 [36] backports_1.1.6 scales_1.1.1 ellipsis_0.3.1 rvest_0.3.5 assertthat_0.2.1 colorspace_1.4-1 stringi_1.4.6 [43] munsell_0.5.0 broom_0.5.6 crayon_1.3.4