如何格式化变量以筛选R上的元素 [英] How to format variables to filter through elements on R

查看:13
本文介绍了如何格式化变量以筛选R上的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

v <- files[1:4]
y <- fname[1:4]
date_range <- substr(y[1], 7, 23)
如何才能使v和y拥有它,从而使文件[1:4]变成文件[5:8],然后变成文件[9:13],依此类推。我假设它是一个for循环,但我不确定如何格式化它。此外,如何使date_range使用v和y使用的第一个元素(对于第一个元素,它将是1,然后是5,然后是9,依此类推)。

数据

# files[1:10]
files <- c("1858/FailedToProcess/TOR-D-18580907-18580908.tif", 
"1858/FailedToProcess/TOR-D-18580907-18580908.tif-FailToProcess-Data.RDS",
"1858/FailedToProcess/TOR-D-18580907-18580908.tif-FailToProcess-Plot.png",
"1858/FailedToProcess/TOR-D-18580907-18580908.tif.png",
"1858/FailedToProcess/TOR-D-18580908-18580909.tif",                  
"1858/FailedToProcess/TOR-D-18580908-18580909.tif-FailToProcess-Data.RDS",
"1858/FailedToProcess/TOR-D-18580908-18580909.tif-FailToProcess-Plot.png",
"1858/FailedToProcess/TOR-D-18580908-18580909.tif.png",
"1858/FailedToProcess/TOR-D-18580910-18580911.tif",                       
"1858/FailedToProcess/TOR-D-18580910-18580911.tif-FailToProcess-Data.RDS")

# fname[1:10]
fname <- c("TOR-D-18580907-18580908.tif",                       
"TOR-D-18580907-18580908.tif-FailToProcess-Data.RDS",
"TOR-D-18580907-18580908.tif-FailToProcess-Plot.png",
"TOR-D-18580907-18580908.tif.png",                   
"TOR-D-18580908-18580909.tif",                       
"TOR-D-18580908-18580909.tif-FailToProcess-Data.RDS",
"TOR-D-18580908-18580909.tif-FailToProcess-Plot.png",
"TOR-D-18580908-18580909.tif.png",                   
"TOR-D-18580910-18580911.tif",                       
"TOR-D-18580910-18580911.tif-FailToProcess-Data.RDS")

这两个变量都包含超过100000个元素,因此我只列出了每个变量的前10个元素,但它们本质上都只是一个非常长的列表。


编辑:

i <- 1 
while (i <= length(files)) {
  start <- i 
  end <- start + 3
  
  v <- files[start:end]
  y <- fname[start:end]
  date_range <- substr(y[1], 7, 23)
  html_block <- make_div(v, date_range)
  
  i <- i + 4
}

推荐答案

如果我理解正确的话,可能这就是您要找的东西??

编辑:

for (i in 1:3) {
  start <- i * 4 - 4 + 1
  end <- start + 3
  
  v <- files[start:end]
  y <- fname[start:end]
  date_range <- substr(y[1], 7, 23)
  
  
  cat("
start:", start, "	| end:", end, "	| date_range", date_range)
}

# start: 1  | end: 4    | date_range 18580907-18580908
# start: 5  | end: 8    | date_range 18580908-18580909
# start: 9  | end: 12   | date_range 18580910-18580911

编辑2:

更新计数器并考虑向量长度的更灵活、更显式的方法files

i <- 1 
while (i <= length(files)) {
  start <- i 
  end <- start + 3
  
  v <- files[start:end]
  y <- fname[start:end]
  date_range <- substr(y[1], 7, 23)
  
  
  cat("
start:", start, "	| end:", end, "	| date_range", date_range)
  i <- i + 4
}

这篇关于如何格式化变量以筛选R上的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆