zoukankan      html  css  js  c++  java
  • R语言学习笔记

    1、运行R脚本的方法:

    *********在R环境下:

    方法一:

    点击菜单”文件-打开程序脚本“,打开chisq2.R后,再全部选中,点右键,点”运行当前行或所选代码“;

    方法二:

    source("chisq2.R")

    但是要首先设置好文件所在路径:

    比如你的文件在桌面上

    setwd("C:/Users/qoiqpwqr/Desktop")

    *********在命令行中,或Linix环境下:

    方法1.在后台运行R
    (1)创建file.R文件
    (2)在文件首行键入:
    #! /path/to/Rscript
    (3)在下面的行中,键入R代码
    (4)保存(记得有png(),jpeg(),...等函数的代码最后一定要有dev.off())
    (5)在file.R的工作目录下,在终端中输入以下命令:
    R CMD BATCH --args file.R
    (6) file.R被运行了!!!

    优点: R命令行下打错命令后回车,之前的所有相关命令几乎全军覆没。如果不想发生这种情况,请写一个file.R文件。

    缺点:R CMD BATCH 模式是让R在系统后台运行file.R,运行时微微地卡了2s。

    方法2.创建R脚本
    (1)创建file.R文件
    (2)在文件首行键入:
    #! /usr/bin/env Rscript
    (3)在下面的行中,键入R代码
    (4)保存(记得有png(),jpeg(),...等函数的代码最后一定要有dev.off())
    (5)在file.R的工作目录下,在终端中输入以下命令:
    R CMD BATCH --args file.R

    或者Rscript file.R
    (6)file.R被运行了!!!

    优点: 比较前者不太占用系统资源, 而且可以在终端在直接运行,这样就可以和BASH语言在一起应用了。 具体如下:
    chmod 755 file.R
    ./file.R                  #这种方式下,把file.R改为file.sh或file ...,在Ubuntu下都能运行

    方法3.在BASH脚本中插入R代码
    (1)在file.sh文件中键入:
    #! /bin/sh
    R --slave [other option]<<EOF
    # R代码
    EOF
    (2)在终端下运行
    chmod 755    file.sh
    ./file.sh
    (3) file.sh被运行了,包括里边的R代码

    优点: R代码能插在BASH脚本中运行,它就可以在其它更加强大的脚本中运行。事实上R-python已经成了python的一个模块了。

    2、获取和设定环境变量:

    问题

    你希望查看某个环境变量的值,或者改变其值。

    解决方案

    使用Sys.getenv函数查看环境变量值,使用Sys.setenv函数设定环境变量值,使用Sys.putenv函数改变环境变量的值:

    > Sys.getenv("SHELL")
    SHELL
    "/bin/bash"
    > Sys.setenv(SHELL="/bin/ksh")

    或者

    >Sys.putenv(SHELL="/bin/ksh")

    附:(putenv函数与setenv函数的区别)

    putenv() 函数并不copy环境变量数值到进程环境表,只是存放环境变量数值的指针,而setenv()函数则完全copy环境变量数值到进程环境表。

      • putenv可以使用程序中已定义,且值形如"name=value"的字符串变量作为函数的实参。此时,系统将不再为该环境变量分配内存,使用的是程序中定义变量的内存,而是将该字符串的变量地址保存在环境中。因此该变量应该定义为全局变量,以防止该函数推出以后导致环境变量不可用。
        char *var="sex=male";
        
        putenv(var);

      • putenv可以使用形如"name=value"的常量字符串作为函数的实参。此时系统需要为该变量分配内存,存储字符串"name=value"。
        putenv("sex=male");

    setenv必须分配内存,存储字符串"name=value";

    setenv("sex","male",1);

    3、在R中安装好各种library之后(如rJava,RWeka),调用这些包的功能时先要进入相应的库:

    >library(RWeka)

          然后才能使用里面的函数如WOW()等,否则就会出错了。

    4、R中数据的导入及检查

    > data <-read.csv("mydata.csv", header = TRUE) # 读取(导入)数据

    > write.csv(data,file="mydata.csv")#导出数据为.csv格式

    或者用

    >data <-read.table("mydata.txt")#读取txt中ascii数据

    或者用

    >data <-read.arff("mydata.arff")#读取.arff中的数据,此步需进入library(RWeka)

    > dim(data) # 显示数据框的维数(即结构)
      [1] 16000 8 # 先是行后是列,16000行,8列
      > data[1:10,] # 显示所有列的第1至10行
      > names(data) # 检查变量名
      [1] "V1" "V2" "V3" # 这些值显示的就是变量名还没有命名,所取值为默认值。(如果数据读入R前没有为变量命名,进入R后自动命名,输出数据集后也会带有自动的命名的)
      > names(data) <-c("income", "educate", "year") # 赋以变量名
      > summary(data) # 返回每个变量的五点描述(描述性统计)
      在这种情况下,summary()命令将返回最大值、最小值、平均数、中位数、上四分位数和下四分位数,也还有每个变量的缺失值。
      > str(data)#返回每个变量的状态(比如数据类型等)
  • 相关阅读:
    java接入钉钉机器人(带源码)
    使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)
    侠说java8--Stream流操作学习笔记,都在这里了
    Elasticsearch调优篇-慢查询分析笔记
    网络探测和抓包工具 wireshark
    window10远程ubuntu18.04
    springdataJPA mysql myisam innodb
    命令集
    java tmpdir 启动 kafka 命令行
    java jar 启动命令
  • 原文地址:https://www.cnblogs.com/zichun-zeng/p/3862602.html
Copyright © 2011-2022 走看看