基本项目模板

三藏唐 421f98552e 更新 'README.md' 6 年之前
cache 5cb3501c2a 更新 'cache/README.md' 6 年之前
config 25137ffc13 更新 'config/README.md' 6 年之前
data 88c45f5f2b 更新 'data/README.md' 6 年之前
diagnostics cd1a03f177 更新 'diagnostics/README.md' 6 年之前
docs f3623bd3a0 更新 'docs/README.md' 6 年之前
graphs 18bdc4fdfb 更新 'graphs/README.md' 6 年之前
lib 8c7d72ca16 更新 'lib/globals.R' 6 年之前
logs edbe104dd1 更新 'logs/README.md' 6 年之前
munge 8940919bcf 更新 'munge/README.md' 6 年之前
profiling b1919f2a73 更新 'profiling/README.md' 6 年之前
reports 1297ff4c5d initial commit 6 年之前
src 314b4b11e1 更新 'src/README.md' 6 年之前
tests 4c4dcedfd3 更新 'tests/README.md' 6 年之前
README.md 421f98552e 更新 'README.md' 6 年之前
TODO 22a7e5fef1 更新 'TODO' 6 年之前
new-project.Rproj 1297ff4c5d initial commit 6 年之前

README.md

基础项目模板

这是个nu项目的空项目模板,使用该模板可以创建一个常用的项目结构.new-project是一个基于R的项目模板,它可以有nuProject包生成。但使用本项目派生则更加简单方便。

该项目结构是众多研究人员经过长时间实践总结而形成的,结构清新,功能分配比较合理,能够适应大多是项目的情况,且工作良好.当然,您也可以在此基础上进行改动,以适应您的项目的特殊情况。不过我们还是强烈建议您使用推荐的文档结构,这个结构已经覆盖了绝大多数项目的需求。这样做还有利于您各个项目结构的统一,便于记忆,并有利于与其它同事的交流。遵循一个普遍的约定,可显著减少陌生事物带来的烦恼。

实现功能

该项目模板从ProjectTemplate派生而来,继承了ProjectTemplate基本功能:

  • 组织项目文档结构
  • 加载所需函数包
  • 加载数据到内存,方便使用
  • 数据整理:把杂乱无章的数据处理成具有整洁清洗数据结构的数据。
  • 数据预处理(data preprocessing),清除明显错误的数据,处理缺失值,处理outlier
  • 数据诊断(data diagnostics)

本模板新增的功能:

  • 子模块支持,把外部数据仓库作为项目仓库的子模块导入主仓库。
  • 数据发布,将docs文件夹中的.Rmd文件发布到shiny网站上去。

目录结构

项目内容以文件形式存储,数据亦然,通过文件夹对文件进行有序分类和组织。每个文件夹内有一个README.md文件,说明本文件夹建议存储的文档和数据类型。

data

存储原始数据,可以是数据采集终端推送的子仓库,用submodule引入项目。data文件夹下可以右多个数据源。

docs

存储决定共享的内容。这个文件夹的文档在推送到服务器后会自动发布到服务器上(此功能需要网站管理员审查并配置),作为项目宣传网站,便于读者对项目的深入了解和学术交流,也可以用来发布观测站的数据和实时图表。发布推荐可以是shiny网站的子仓库的形式。

lib

存储重复使用的数据处理函数。该文件夹中的R文件中的函数将被自动加载到内存,直接使用,免除了逐个加载的麻烦。

munge

存放数据整理和预处理的程序。数据加载之后会自动执行。

cache

原始数据经过加载和预处理后形成的R格式的数据,可以直接在R中进行分析。这是经过加工的数据,存储在这个缓存文件夹中,不必要重复预处理过程,可以直接使用。cache数据默认自动加载,但可以通过配置取消。

graphs

存放图表

logs

存放处理记录,这很重要。

profiling

用于代码分析、跟踪和测试,开发者使用,普通用户可以忽略或直接删除。

src

存储您的项目特有的分析程序。和lib文件夹、munge文件夹不同。lib是库(library)的简称,用来存储重复调用的函数,munge存储预处理过程,而src则只存储数据分析的过程。

使用方法

确保有一个帐号

首先,您需要拥有一个nu帐号并登录,如果还没有,您可以免费注册一个。

派生中心仓库

进入本页面,在右上角点击“派生”按钮。会弹出一个web窗体,该窗体允许您给您的派生项目选择一个合适的名字。根据提示点击相关按钮即可。这将在nu托管网站(本网站)上形成一个中心仓库。

克隆仓库到本地计算机

中心仓库的编辑功能有限,既不不具有数据处理和测试能力。需要克隆到本地计算机进行编辑和处理。推荐使用rstudio进行管理,也可以使用rstudio server。 打开rstudio->加载项目

加载项目

项目处理需要nuProject包,如果没有请用一下命令安装:

install.packages("http://git.boogoo.com.cn/hungerzs/nuProject/archive/0.8.1.tar.gz", repos=NULL)

以上为示例,具体版本号根据当前版本安装,可以浏览nuProject仓库 加载项目之前请确保R的当前工作区在项目根文件夹(即.Rprj所在文件夹)。如果不是,在加载项目会失败,并提示你当前工作区不是nuProject项目,请使用setwd设置工作区。

setwd(<工作区文件夹,也就是生成的项目的根目录>)
library('nuProject')
load.project()

load.project()将自动加载data文件夹中的数据。其运行流程是:

  • 读取全局配置文件
  • 加载所依赖的R包
  • 从data或cache文件夹读取数据
  • 使用munge文件夹中的函数对数据进行预处理 以上工作完成后,剩下的就是你的事了。

根据您的项目需求定制文档机构,添加或删除文件夹。加入数据,并试验或从其他项目获取数据处理的方法。