मैं निम्नलिखित आउटपुट के लिए एक लापरवाही/विभाजन समाधान (या जो कुछ भी काम करता है) की तलाश में हूं:

library(dplyr)
set.seed(34)
startingframe <-  data.frame(
  time=rep(1:5,each=1,times=1),
  othercolumn=rnorm(1:5)
)

startingframeout1 <- startingframe %>% dplyr::filter(time >= 1)
startingframeout2 <- startingframe %>% dplyr::filter(time >= 2)
startingframeout3 <- startingframe %>% dplyr::filter(time >= 3)
startingframelist <- list(startingframeout1, startingframeout2, startingframeout3)
startingframelist


[[1]]
  time  othercolumn
1    1  0.670620044
2    2 -0.849014621
3    3  1.066804504
4    4 -0.007460534
5    5 -0.402880091

[[2]]
  time  othercolumn
1    2 -0.849014621
2    3  1.066804504
3    4 -0.007460534
4    5 -0.402880091

[[3]]
  time  othercolumn
1    3  1.066804504
2    4 -0.007460534
3    5 -0.402880091

शब्दों में, मैं startingframe को डेटाफ्रेम की एक सूची में बदलना चाहता हूं जो संख्यात्मक फ़िल्टर को संतुष्ट करता है। आदर्श रूप से मैं एक फिल्टर रेंज को एक फंक्शन में फीड करूंगा जैसे। timefilter <- c(1:3) यहां एक समान लेकिन 100% लागू समाधान नहीं है: R: डेटाफ़्रेम को समूह और पंक्ति पुनरावृत्ति द्वारा सूची में विभाजित करें

0
SlyGrogger 27 जून 2019, 01:02

1 उत्तर

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

इसे हल करने की एक संभावना lapply() का उपयोग इस तरह से एक उपयुक्त फ़ंक्शन के साथ कर रही है:

lapply(1:5, function(x) {startingframe %>% filter(time >= x)})
1
eastclintw00d 26 जून 2019, 22:15