如何格式化变量以过滤 R 上的元素
How to format variables to filter through elements on R
v <- files[1:4]
y <- fname[1:4]
date_range <- substr(y[1], 7, 23)
如何才能让 v 和 y 拥有它,然后 files[1:4] 变成 file[5:8],然后 files[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("\nstart:", start, "\t| end:", end, "\t| 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("\nstart:", start, "\t| end:", end, "\t| date_range", date_range)
i <- i + 4
}
v <- files[1:4]
y <- fname[1:4]
date_range <- substr(y[1], 7, 23)
如何才能让 v 和 y 拥有它,然后 files[1:4] 变成 file[5:8],然后 files[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("\nstart:", start, "\t| end:", end, "\t| 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("\nstart:", start, "\t| end:", end, "\t| date_range", date_range)
i <- i + 4
}