बहु सशर्त case_when में आर

0

सवाल

मैं कोशिश कर रहा हूँ को जोड़ने के लिए एक नया स्तंभ (रंग) करने के लिए अपने डेटा फ्रेम. में मान पंक्ति पर निर्भर करता है के मूल्यों में दो अन्य स्तंभों. उदाहरण के लिए, जब वर्ग के मूल्य के बराबर है 4 और Metro_status मूल्य के बराबर है मेट्रो, मैं करना चाहते हैं एक विशिष्ट मूल्य में लौट इसी पंक्ति में नए स्तंभ । मैं ऐसा करने की कोशिश की इस के साथ case_when का उपयोग कर dplyr और यह काम किया है... एक हद तक.

बहुमत के रंग मूल्यों outputted में रंग कॉलम में अप लाइन नहीं है के साथ परिभाषित किया गया स्थिति. उदाहरण के लिए, पहली पंक्तियों (नोम जनगणना क्षेत्र) रंग मूल्य होना चाहिए "#fcc48b" लेकिन इसके बजाय है "#d68182".

मैं क्या कर रहा हूँ गलत?? TIA!

यहाँ अपने कोड:

#set working directory
  setwd("C:/Users/weirc/OneDrive/Desktop/Undergrad Courses/Fall 2021 Classes/GHY 3814/final project/data")
        
  #load packages
  library(readr)
  library(dplyr)
        
  #load data
  counties <- read_csv("vaxData_counties.csv")
        
  #create new column for class
  updated_county_data <- counties %>%
    mutate(class = case_when(
      Series_Complete >=75 ~ 4,
      Series_Complete >= 50 ~ 3,
      Series_Complete >= 25 ~ 2,
      TRUE ~ 1
    ), color = case_when(
      class == 4 | Metro_status == 'Metro' ~ '#d62023',
      class == 4 | Metro_status == 'Non-metro' ~ '#d68182',
      class == 3 | Metro_status == 'Metro' ~ '#fc9126',
      class == 3 | Metro_status == 'Non-metro' ~ '#fcc48b',
      class == 2 | Metro_status == 'Metro' ~ '#83d921',
      class == 2 | Metro_status == 'Non-metro' ~ '#abd977',
      class == 1 | Metro_status == 'NA' ~ '#7a7a7a'
    ))
  
  View(updated_county_data)
  
  write.csv(updated_county_data, file="county_data_manip/updated_county_data.csv")

यहाँ है क्या डेटा फ्रेम की तरह लग रहा है enter image description here

case data-manipulation dplyr r
2021-11-23 23:02:04
1

सबसे अच्छा जवाब

0

टिप्पणी 1:

जब वर्ग के मूल्य के बराबर है 4 और इस Metro_status मूल्य के बराबर है मेट्रो

अनुसंधान में (और कई प्रोग्रामिंग भाषाओं में) & है "और". आप उपयोग कर रहे हैं |है , जो है "या".

टिप्पणी 2: विचार सरल बनाने के पहले चार लाइनों के लिए दो, के बाद से मेट्रो की स्थिति को प्रभावित नहीं करता है के लिए रंग वर्गों 4 और 3

टिप्पणी 3: की गणना करने के लिए class, पर विचार करें base::cut()है , क्योंकि यह पर्याप्त है, अभी तक की तुलना में आसान dplyr::case_when().

यहाँ मेरी पसंद जब बढ़ती जटिलता के recoding कार्य: https://ouhscbbmc.github.io/data-science-practices-1/coding.html#coding-simplify-recoding

टिप्पणी 4: यह एक अच्छा था तो पोस्ट देख सकते हैं लेकिन, अगर आप में सुधार कर सकते हैं अपने अगले एक. पढ़ने के लिए और से तत्वों को शामिल करने के लिए कैसे बनाने के लिए एक महान आर प्रतिलिपि प्रस्तुत करने योग्य उदाहरण है?. विशेष रूप से पहलुओं का उपयोग करने के dput() इनपुट के लिए और फिर एक स्पष्ट उदाहरण की अपनी उम्मीद डेटासेट.

2021-11-23 23:41:07

इसके अलावा, बस जोड़ने के लिए कुछ अतिरिक्त रंग के लिए क्यों ऑप्स संस्करण बर्ताव करता है जिस तरह से यह करता है, पहले दो लाइनों है कि शुरू class == 4 सच वापसी के सभी संयोजनों के लिए Class और Metro_Status के लिए छोड़कर Metro_Status == "NA"
Mako212

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में