Advertisement

R语言与生物统计分析试题

阅读量:
  1. 创建一个空文件夹"WCPFC"(专门用于存储最终输出结果);
  2. 导入一个名为"WCPFC目标渔船名单"的CSV文件(包含船名、国籍、IMO号码和MMSI号码);
  3. 建立一个名为"mmsi"的目录(其中包含大量渔船AIS数据),每个AIS数据集是一个TXT文件,并按对应的MMSI号码命名;
  4. 根据CSV中的信息,在"WCPFC"目录下创建独立子目录(子目录名称由国家英文名决定),例如"Australia"、"Japan"等;
  5. 从"MMSI"目录中提取对应于CSV列表中的所有渔船TXT文档,并将其按国家分类存放在"WCPFC"目录下的相应子目录中;
  6. 将提取的所有TXT文档导入R语言环境,并按照国家英文名称首两个字母与数字组合生成命名规则对这些文档进行命名;
  7. 运行ls命令以列出当前工作区中的变量并查看内存状态;
    8: 以上操作完成后,请截图显示工作台界面并附上相关代码清单至WORD文档中作为提交材料。
    9: 本题主要考察学生对文件操作(新建、复制粘贴、查询等)、字符串处理以及循环运算能力

看清楚目录结构

在这里插入图片描述
复制代码
    data = read.csv("WCPFC目标渔船名单.csv")
    # 提取 
    country_name = unique(data$Flag) 
    # 创建文件夹
    for (i in country_name){
      str = paste("WCPFC/" , i,sep = "")
      dir.create(file.path(getwd(),str))
    }
    
    
      
      
      
      
      
      
      
      
    
    AI助手

在 csv 文件中查看 'WCPFC 目标渔船名单' 中的数据后,在 mmsi 文件夹中提取出该列表中的所有 .txt 文件,并按国家将它们分类到对应的 'WCPFC' 文件夹下。并将提取出的文件命名格式设置为 'MMSI号-国家' 的形式(例如:503597400-Australia、431001235-Japan)。

复制代码
    for (i in country_name){
      # 筛选数据
      name = i
      df = subset(data, Flag == name )
      MMSI = df$MMSI
      for (j in MMSI){
     from_str  = paste0("mmsi","/",j,".txt",sep = "")
     to_str = paste0("WCPFC/",name, "/", j, "-" ,name, ".txt", sep = "")
     file.copy(from  = from_str,to_str )
      }
    
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

从 R 中导入所有筛选后的 txt 文件,并按照国家英文名称的前两个字母加上数字进行命名。例如,在 Australia 文件夹中存放的第3个 txt 文件则命名为 Au3

说明

复制代码
    for (i in country_name){
      name = substr(i,1,2)
      dirname = paste0("WCPFC/",i,"/")
      filenames = dir(dirname)
      for (j in (1:length(filenames))){  
    file = filenames[j]
    # print(file)
    file_data_name = paste0(dirname,file) 
    # print(file_data_name)
    assign(paste(name,j,sep=""),read.csv(file_data_name))
      }
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~