sessionInfo() 查看R中载入的包和版本

writeLines(capture.output(sessionInfo()), "sessionInfo.txt")

  1. sink("sessionInfo.txt")
  2. sessionInfo()
  3. sink()

data.frame 动态确定列名称

  1. var <- "mpg"
  2. #Doesn't work
  3. mtcars$var
  4. #These both work, but note that what they return is different
  5. # the first is a vector, the second is a data.frame
  6. mtcars[[var]]
  7. mtcars[var]

data.frame 列命名

Use the colnames() function:

  1. R> X <- data.frame(bad=1:3, worse=rnorm(3))
  2. R> X
  3. bad worse
  4. 1 1 -2.440467
  5. 2 2 1.320113
  6. 3 3 -0.306639
  7. R> colnames(X) <- c("good", "better")
  8. R> X
  9. good better
  10. 1 1 -2.440467
  11. 2 2 1.320113
  12. 3 3 -0.306639

You can also subset:

  1. R> colnames(X)[2] <- "superduper"

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),
    length.out = NULL, along.with = NULL, ...)

举例----------Examples----------
seq(0, 1, length.out=11)
seq(stats::rnorm(20)) # 
seq(1, 9, by = 2)     # 
seq(1, 9, by = pi)    # 
seq(1, 6, by = 3)
seq(1.575, 5.125, by=0.05)
seq(17) # same as 1:17, or even better seq_len(17)

Loops

The most commonly used loop structures in R are for, while and apply loops. Less common are repeat loops. The break function is used to break out of loops, and next halts the processing of the current iteration and advances the looping index.

for(variable in sequence) {
    statements
}
while(condition) statements
apply(X, MARGIN, FUN, ARGs)
 

保存为Tab分隔的txt文件:

write.table(y, file = paste("Day",a, " ",k, ".txt", sep=""), sep = "\t",row.names=FALSE)

data.frame 添加一行:
First, we create a one-row data frame with the new data:

> newRow <- data.frame(city="West Dundee", county="Kane", state="IL", pop=5428)

Next, we use the rbind function to append that one-row data frame to our existing data frame:

> suburbs <- rbind(suburbs, newRow)

data.frame 添加一列:

my.dataframe$new.col <- a.vector

my.dataframe[, "new.col"] <- a.vector

my.dataframe["new.col"] <- a.vector

df <- data.frame(b = runif(6), c = rnorm(6))
cbind(a = 0, df)

data <- read.table(header=TRUE, text='
id weight
  1     20
  2     27
  3     24
')

# Ways to add a column
data$size      <- c("small", "large", "medium")
data[["size"]] <- c("small", "large", "medium")
data[,"size"]  <- c("small", "large", "medium")
data$size      <- 0   # Use the same value (0) for all rows

# Ways to remove the column
data$size      <- NULL
data[["size"]] <- NULL
data[,"size"]  <- NULL
data[[3]]      <- NULL
data[,3]       <- NULL
data           <- subset(data, select=-size)

  1. flush.console()
  2.  
  3. options(stringsAsFactors=FALSE)

A simple function to remove leading and trailing whitespace:

  1. trim <- function( x ) {
  2. gsub("(^[[:space:]]+|[[:space:]]+$)", "", x)
  3. }

Usage:

  1. > text = " foo bar baz 3 "
  2. > trim(text)
  3. [1] "foo bar baz 3"
  4. R中合并某一数据框的两列数据
    需要解决的问题,需要将某一个数据框的两列值合并为一列。
    R中合并某一数据框的两列数据
    浏览示例数据
    > mtcars
    安装tidyr包,之后加载tidyr
    > library(tidyr)
    执行命令
    > tidyr::unite(mtcars, "vs_am", vs, am)
    vs am 两列数据合并后,原数据列被删除了(如果想保留原数据列则通过 remove = FALSE 参数控制),新增了 vs_am 列,得到的结果如下。
    R中合并某一数据框的两列数据
    个性化合并
    如果在合并时想自定义连接符,可以通过参数 sep 控制,运行
    > unite(mtcars, "vs_am", vs, am, sep = "ZSF", remove = FALSE)
    得到的结果如下,新增 vs_am 列,连接符为 ZSF,原数据列 vs am 得以保存。

R语言常用基础知识的更多相关文章

  1. R语言常用基础知识(入门)

    data.frame 动态确定列名称 var <- "mpg" #Doesn't work mtcars$var #These both work, but note tha ...

  2. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  3. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  4. R语言语法基础一

    R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world ...

  5. 【R】R语言常用函数

    R语言常用函数 基本 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量character:字符型向量 list:列表 data.frame:数据框c:连接为向量或 ...

  6. 【值得收藏】C语言入门基础知识大全!从C语言程序结构到删库跑路!

    01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { ...

  7. iOS开发系列--C语言之基础知识

    概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift ...

  8. 3011C语言_基础知识

    第一章  基础知识 1.1  基本框架 //任何一个c语言程序都必须包括以下格式: int main(int argc, char *argv[] ) { : } //这是c语言的基本结构,任何一个程 ...

  9. R语言编程艺术(3)R语言编程基础

    本文对应<R语言编程艺术> 第7章:R语言编程结构: 第9章:面向对象的编程: 第13章:调试 ============================================== ...

随机推荐

  1. 【BZOJ】【3907】网格

    组合数学/python 3907: 网格 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 162  Solved: 76[Submit][Status][ ...

  2. [转载]Thread.Sleep(0)妙用

    原文地址:http://blog.csdn.net/lgstudyvc/article/details/9337063 来自本论坛: 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段 ...

  3. VS调试Libevent流程

    下载源码包: libevent--stable.tar.gz 第一:编译libevent 进入VS2010命令提示,切换到libevent的所在目录 nmake /f Makefile.nmake 编 ...

  4. 山寨小小军团开发笔记 之 GamePool

    很多时候我们对于物体(比如弓箭)大量的生成与销毁,这个时候可以把弓箭放在内存池中进行管理,加快体验.自己Copy了一个简易版的. 一.代码 GameObjectPoolManager.cs using ...

  5. 你必须知道的ADO.NET

    原文:http://www.cnblogs.com/liuhaorain/archive/2012/02/06/2340409.html 1. 什么是ADO.NET? 简单的讲,ADO.NET是一组允 ...

  6. JDK中常见的package

    SUN公司在JDK中为程序开发者提供了各种实用类,这些类按功能不同分别被放入了不同的包中,供开发者使用,下面简要介绍其中最常用的几个包:1. java.lang — 包含一些Java语言的核心类,如S ...

  7. codeforces 442C C. Artem and Array(有深度的模拟)

    题目 感谢JLGG的指导! 思路: //把数据转换成一条折线,发现有凸有凹 //有凹点,去掉并加上两边的最小值//无凹点,直接加上前(n-2)个的和(升序)//数据太大,要64位//判断凹与否,若一边 ...

  8. ThreadPoolTaskExecutor异步的处理报警发送邮件短信比较耗时的东东

    package com.elong.ihotel.util; import org.springframework.beans.factory.DisposableBean; import org.s ...

  9. Windows启动系统程序命令

    DEVMGMT.MSC - Device Manager 设备管理器 DISKMGMT.MSC - Disk Management 磁盘管理   WindowsXP常用命令http://baike.b ...

  10. Linux客户/服务器程序设计范式2——并发服务器(进程池)

    引言 让服务器在启动阶段调用fork创建一个子进程池,通过子进程来处理客户端请求.子进程与父进程之间使用socketpair进行通信(为了方便使用sendmsg与recvmsg,如果使用匿名管道,则无 ...