以下のデータには、単位(1〜8)の列名があります。各単位には、スコアとパーセントの列があります。 num_range()
ヘルパーでdplyr::select()
を使用して、スコアの1〜3だけを選択する方法はありますか?私は接尾辞を落とすとそれを得ることができます(unit_1_scoreの代わりに単なるunit_1なので)。そうでなければ私の試みは成功しませんでした。私はdplyr::select(d, num_range("unit_", 1:3, "_score"))
を試しましたが、それはうまくいかないようです。どんな助けもありがとう。数値が列名の中央にある場合、 `dplyr :: select(num_range())`
d <- readr::read_csv("https://data.jacksonms.gov/api/views/97iy-g8hk/rows.csv")
d <- janitor::clean_names(d)
names(d)
[1] "test_year" "test_type" "test_site" "student_id"
[5] "pre_test_score" "pre_test_percent" "post_test_score" "post_test_percent"
[9] "percentage_change" "unit_1_score" "unit_1_percent" "unit_2_score"
[13] "unit_2_percent" "unit_3_score" "unit_3_percent" "unit_4_score"
[17] "unit_4_percent" "unit_5_6_score" "unit_5_6_percent" "unit_7_score"
[21] "unit_7_percent" "unit_8_score" "unit_8_percent" "total_score"
[25] "total_percent_correct"
あなたは 'unit_5_6_score'列を持っていますか?あなたは '3:5'と' 6:8'の両方で動作することを期待していますか? – MrFlick
'dplyr :: select(d、paste0(" unit_ "、1:3、" _score "))'はどうですか? – www
ええ、私はそれが私のデータではないことを認識していますが、それは私が1-3について尋ねた理由の一部です。より一般的なケースを理解しようとしています。 –