मैं इकट्ठा करने और फैलाने के दर्शन को प्राप्त करने की कोशिश कर रहा हूं। यदि आपके पास एक डेटा फ्रेम है जो इस तरह दिखता है:

group=c("A","A","A","B","B","B")
time =c(10,20,30,10,20,30)
value=c(20,40,80,10,10,20)

data= data.frame(group,time,value)

group time value
  A   10    20
  A   20    40
  A   30    80
  B   10    10
  B   20    10
  B   30    20

आप यहां कैसे पहुंच सकते हैं

A   B   time
20 10    10
40 10    20
80 20    30

मुझे लगता है कि यह एक मूर्खतापूर्ण प्रश्न है लेकिन काफी व्यावहारिक है

1
LDT 11 जिंदा 2021, 20:36
2
आप इस तरह tidyr::spread का उपयोग कर सकते हैं: tidyr::spread(data, group, value)। हालांकि, pivot_wider, spread का अधिक लचीला विकल्प है।
 – 
Cettt
11 जिंदा 2021, 20:43

1 उत्तर

सबसे बढ़िया उत्तर

हम pivot_wider का उपयोग कर सकते हैं

library(dplyr)
library(tidyr)
data %>% 
   pivot_wider(names_from = group, values_from = value)

आउटपुट

# A tibble: 3 x 3
#   time     A     B
#  <dbl> <dbl> <dbl>
#1    10    20    10
#2    20    40    10
#3    30    80    20
1
akrun 11 जिंदा 2021, 20:37