使用特定迭代在R中创建列表 [英] Create list in R with specific iteration

查看:243
本文介绍了使用特定迭代在R中创建列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含10个文件的文件夹,我在R中导入为 S

I have a folder with 10 files that I import in R as S

S<-list.files(S1_path, recursive = TRUE, full.names = TRUE, pattern="S1") 

> S
 [1] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180412T171648_20180412T171715_021437_024E95_BDA1.zip"
 [2] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180424T171648_20180424T171715_021612_02540A_BB21.zip"
 [3] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180506T171649_20180506T171716_021787_025996_98AB.zip"
 [4] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180518T171649_20180518T171716_021962_025F27_A15C.zip"
 [5] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180530T171650_20180530T171717_022137_0264C8_5D94.zip"
 [6] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180611T171651_20180611T171718_022312_026A3D_BBFC.zip"
 [7] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180623T171652_20180623T171719_022487_026F7C_450E.zip"
 [8] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180705T171652_20180705T171719_022662_027499_1B8F.zip"
 [9] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180717T171653_20180717T171720_022837_0279EC_5E5E.zip"
[10] "/shared/Training/EARSEL0918_UrbanClassification_Germany/Original//S1A_IW_SLC__1SDV_20180729T171654_20180729T171721_023012_027F72_97F6.zip"

使用 S 作为输入,我想创建两个新的不同列表。一个包含位置 [1] [3] [5] [7] [9] 以及其他包含位置<$ c的文件$ c> [2] , [4] [6] [8] [10]

Using S as input, I want to create two new differnet lists. One containing the files in positions [1], [3],[5],[7],[9] and the other containing files in positions [2], [4],[6],[8],[10].

我正在尝试适应我以前的代码。在这里,我创建一个空列表,我填写迭代 S ,但是逐个1而不是我想要的方式。

I am trying to adapt a previous code of mine. Here I create an empty list that I fill iterating over S but 1 by 1 and not in the way I want.

input<-list()
for (i in S){
  input[[i]]<-paste("-Pinput1=", i, sep="")
}

您有任何建议吗?类似 i + 2

Do you have any suggestion. Something like i+2 ?

推荐答案

最简单的方式:

even_indexes<-seq(2,10,2) # List of even indexes
odd_indexes<-seq(1,10,2)  # List of odd indexes
paste0("-Pinput1=",df[odd_indexes,])  # Name with odd index
paste0("-Pinput1=",df[even_indexes,]) # Name with even index

这篇关于使用特定迭代在R中创建列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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