R-即使对于变量也是循环



如何在R中对一系列数字使用此命令?

PR01 <- Pra_Ruz[grep("-01-", Pra_Ruz$Date), ]

我是说

PR01 <- Pra_Ruz[grep("-01-", Pra_Ruz$Date), ]
PR02 <- Pra_Ruz[grep("-02-", Pra_Ruz$Date), ]
PR03 <- Pra_Ruz[grep("-03-", Pra_Ruz$Date), ]
PR04 <- Pra_Ruz[grep("-04-", Pra_Ruz$Date), ]
....

如果您以可复制的格式提供具有预期输出的数据,则会更容易提供帮助。

将此视为您的数据-

Pra_Ruz <- data.frame(Date = as.Date(c('2012-01-31', '2020-12-28', 
'2015-10-11', '2014-04-16', '2016-03-22')), a = 1:5)
Pra_Ruz
#        Date a
#1 2012-01-31 1
#2 2020-12-28 2
#3 2015-10-11 3
#4 2014-04-16 4
#5 2016-03-22 5

您可以使用[1-4]在正则表达式中指定范围

Pra_Ruz[grep("-0[1-4]-", Pra_Ruz$Date), ]
#        Date a
#1 2012-01-31 1
#4 2014-04-16 4
#5 2016-03-22 5

另一种选择-

如果这些是日期对象,您可以从中提取月份值,然后进行子集设置。

Pra_Ruz[as.integer(format(Pra_Ruz$Date, '%m')) %in% 1:4, ]

如果您想将数据集拆分为多个单独的数据帧

data <- split(Pra_Ruz, format(Pra_Ruz$Date, '%m'))
names(data) <- paste0('PR', names(data))
list2env(data, .GlobalEnv) #Not recommended, do only if necessary. 

相关内容

  • 没有找到相关文章

最新更新