मेरे पास विभिन्न चर के साथ डेटा फ्रेम का एक गुच्छा है। मैं उन्हें आर में पढ़ना चाहता हूं और उन लोगों को कॉलम जोड़ना चाहता हूं जो कुछ चर से कम हैं ताकि उनके पास मानक वैरिएबल का एक सामान्य सेट हो, भले ही कुछ अखंड हों।कॉलम जोड़ना अगर यह मौजूद नहीं है
दूसरे शब्दों में ... क्या कॉलम मौजूद नहीं होने पर NA
के कॉलम जोड़ने के लिए कोई तरीका है? मेरा वर्तमान प्रयास नए चर जोड़ने के लिए काम करता है जहां कॉलम मौजूद नहीं है (top_speed
) लेकिन कॉलम पहले से मौजूद होने पर विफल रहता है (mpg
) (यह सभी मानों को पहले मान, Mazda RX4
पर सेट करता है)।
library(tidyverse)
mtcars %>%
tbl_df() %>%
rownames_to_column("car") %>%
mutate(top_speed = ifelse("top_speed" %in% names(.), top_speed, NA),
mpg = ifelse("mpg" %in% names(.), mpg, NA)) %>%
select(car, top_speed, mpg, everything())
# # A tibble: 32 x 13
# car top_speed mpg cyl disp hp drat wt qsec vs am gear carb
# <chr> <lgl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
# 1 Mazda RX4 NA 21 6 160.0 110 3.90 2.620 16.46 0 1 4 4
# 2 Mazda RX4 Wag NA 21 6 160.0 110 3.90 2.875 17.02 0 1 4 4
# 3 Datsun 710 NA 21 4 108.0 93 3.85 2.320 18.61 1 1 4 1
# 4 Hornet 4 Drive NA 21 6 258.0 110 3.08 3.215 19.44 1 0 3 1
# 5 Hornet Sportabout NA 21 8 360.0 175 3.15 3.440 17.02 0 0 3 2
# 6 Valiant NA 21 6 225.0 105 2.76 3.460 20.22 1 0 3 1
# 7 Duster 360 NA 21 8 360.0 245 3.21 3.570 15.84 0 0 3 4
# 8 Merc 240D NA 21 4 146.7 62 3.69 3.190 20.00 1 0 4 2
# 9 Merc 230 NA 21 4 140.8 95 3.92 3.150 22.90 1 0 4 2
# 10 Merc 280 NA 21 6 167.6 123 3.92 3.440 18.30 1 0 4 4
बहुत धन्यवाद ... ... मैं एक श्रृंखला में इसका इस्तेमाल करने के लिए कई के साथ (~ 15) चर ... 'mtcars%>% fncols जा रहा हूँ यह अब तक जवाब से बाहर सबसे तेजी से काम करता है लगता है ("एमपीजी")%>% fncols ("top_speed") ' – gjabel
एक श्रृंखला में इसका उपयोग करने के बजाय, संपादित संस्करण – Onyambu
@ ओनंबू को संपादित करने के लिए धन्यवाद। यह अधिक सामान्य है – akrun