मेरे पास एक टिबल है:
example <- tibble(Level = list(0.80,0.90)) %>%
mutate(bounds = list(c(2.3,4.5),
c(2.7,5.2)))
जब मैं एक जीटी टेबल बनाता हूं, तो मुझे एक 2x2 टिब्बल मिलता है जो कुछ इस तरह दिखता है:
Level Bounds
0.80 2.3, 4.5
0.90 2.7, 5.1
मैं जो चाहता हूं वह 2x2 gt तालिका है जिसमें केवल एक तत्व सीमा के नीचे है, कोष्ठक में:
Level Bounds
0.80 (2.3,4.5)
0.90 (2.7,5.1)
क्या इसे करने का कोई तरीका है?
1
HAK
22 मार्च 2020, 22:54
2 जवाब
सबसे बढ़िया उत्तर
एक dplyr
और purrr
संभावना हो सकती है:
example %>%
transmute(Level_bounds = paste(unlist(Level),
paste0("(", map_chr(bounds, paste, collapse = ","), ")"),
sep = " - "))
Level_bounds
<chr>
1 0.8 - (2.3,4.5)
2 0.9 - (2.7,5.2)
यदि वास्तव में दो स्तंभों की आवश्यकता है:
example %>%
transmute(Level = unlist(Level),
bounds = paste0("(", map_chr(bounds, paste, collapse = ","), ")"))
Level bounds
<dbl> <chr>
1 0.8 (2.3,4.5)
2 0.9 (2.7,5.2)
0
tmfmnk
22 मार्च 2020, 23:03
हम unnest
list
कॉलम, 'लेवल', paste
'एलिमेंट्स इन 'बाउंड्स' के आधार पर ग्रुप कर सकते हैं और इसे sprintf
के साथ फॉर्मेट कर सकते हैं।
library(dplyr)
library(tidyr)
example %>%
unnest %>%
group_by(new = Level) %>%
summarise(Level_Bounds = sprintf('%0.2f - (%s)',
first(Level), toString(bounds))) %>%
select(-new)
# A tibble: 2 x 1
# Level_Bounds
# <chr>
#1 0.80 - (2.3, 4.5)
#2 0.90 - (2.7, 5.2)
अगर हमें दो कॉलम चाहिए
library(stringr)
example %>%
unnest %>%
group_by(Level) %>%
summarise(Bounds = str_c("(", toString(bounds), ")"))
# A tibble: 2 x 2
# Level Bounds
# <dbl> <chr>
# 1 0.8 (2.3, 4.5)
#2 0.9 (2.7, 5.2)
या pmap
का उपयोग कर रहे हैं
library(purrr)
example %>%
transmute(Level_bounds = pmap_chr(., ~ paste0(..1, " - (",
toString(..2), ")")))
# A tibble: 2 x 1
# Level_bounds
# <chr>
#1 0.8 - (2.3, 4.5)
#2 0.9 - (2.7, 5.2)
या base R
का उपयोग कर रहे हैं
data.frame(Level = unlist(example$Level),
Bounds = paste0("(", sapply(example$bounds, toString), ")"))
0
akrun
22 मार्च 2020, 23:11
क्या कोई तरीका है कि मैं एक नए चर को बदल सकता हूं जो डबल वेक्टर को एक एकल वेक्टर में पेस्ट का उपयोग करके कोष्ठक के साथ परिवर्तित करता है? यह एक आसान समाधान हो सकता है और मुझे 2x2 कॉलम भी देगा, जिसे मैं प्राप्त करने का प्रयास कर रहा हूं। मेरी माफ़ी, मूल प्रश्न में इसे स्पष्ट करना चाहिए था। इसे अब प्रतिबिंबित करने के लिए संपादित किया है।
– HAK
22 मार्च 2020, 23:03