tidyverse
का उपयोग करने के लिए पसंदीदा तरीका है, अक्सर मुझे वेक्टर के नाम होने वाले कॉलम के साथ data.frame
/tibble
में नामित वैक्टर बदलने की चुनौती का सामना करना पड़ता है।
ऐसा करने का पसंदीदा/tidyversey तरीका क्या है?
संपादित करें: इस से संबंधित है: this और this GitHub मुद्दाtidyverse - एक नामित वेक्टर को डेटा.फ्रेम/टिबल
तो मैं चाहता हूँ:
require(tidyverse)
vec <- c("a" = 1, "b" = 2)
इस बनने के लिए:
# A tibble: 1 × 2
a b
<dbl> <dbl>
1 1 2
मैं क्या कर सकते हैं इस के माध्यम से उदाहरण के लिए:
vec %>% enframe %>% spread(name, value)
vec %>% t %>% as_tibble
USECASE उदाहरण:
require(tidyverse)
require(rvest)
txt <- c('<node a="1" b="2"></node>',
'<node a="1" c="3"></node>')
txt %>% map(read_xml) %>% map(xml_attrs) %>% map_df(~t(.) %>% as_tibble)
कौन सा
# A tibble: 2 × 3
a b c
<chr> <chr> <chr>
1 1 2 <NA>
2 1 <NA> 3
वास्तव में क्या है, अगर कुछ भी, आपको लगता है कि आप क्या कर रहे हैं के बारे में कमी है है – shayaa
मैं अपने आप से पूछा वही, क्योंकि 'bind_rows'' map_df (~ t (।)%>% as_tibble के बजाय काम नहीं करता है)। तो, अब तक, मैं ट्रांसफर करता हूं, स्ट्रिंग्स वाले चरित्रों (कारकों पर नहीं) वाले डेटा फ्रेम में कनवर्ट करता हूं, और फिर परिणामों को एक साथ जोड़ता हूं। हालांकि, इस सामान्य कार्य के लिए एक शॉर्टकट अच्छा हो सकता है। – lukeA
@lukeA, मुझे लगता है कि 'bind_rows' को अब अपडेट करने के तरीके में अपडेट किया गया है – markdly