title: “R的数据操作”
author: “HHTING”
output:
html_document:
df_print: paged
word_document: default
pdf_document:
keep_tex: yes
latex_engine: xelatex
header-includes: \usepackage{ctex}
R的数据操作
对象
R通过刻画对象的名称、内容和数据类型(属性)来运行。所有对象都存在两个内在属性:类型和长度。
类型是所有对象元素的基本种类,共四种,分别是数值型、字符型、复数型和逻辑性(“numeric”、“character”、“logical”、“complex”)。长度是对象中元素的数目。对象的类型和长度可分别通过函数mode和length获得。
A1 <- 5;
B <- "hello, world";
C <- TRUE;
D <- 5i;
A2 <- 1:5
mode(A1);
mode(B);
mode(C);
mode(D);
mode(A2)
length(A1);
length(B);
length(A2)
无论什么类型的数据,缺失数据总是用NA(不可用)来表示;对很大的数值则可用指数形式表示。R可以正确地表示无穷的数值,如用Inf和-Inf表示±∞,或者用NaN(非数字)表示不是数字的值。
N <- 1.2e34
N
x <- 1/0
x
exp(x)
exp(-x)
x - x
字符型的对象在输入值时需要加上双引号(或单引号)。如果需要引用双引号(或单引号),则需要加反斜杠\,才能以特殊的方式表现出来。
a <- "hello, \"world\" "
b <- 'Goodbye, \'see you\' tomorrow'
a
cat(a)
b
cat(b)
在文件中读写数据
使用getwd()获得工作目录,setwd()更改工作目录,dir()显示该目录下所有文件。如果操作的文件不在工作目录下,则必须给出其路径。read.table()创建一个数据框来读取目标文件。
getwd()
setwd('D:/WPS') # 注意用斜杠/
dir()
a <- read.table("data.csv")
a[1,] # 第一行
a[,1] # 第一列
scan()可以指定变量类型来创建不同的对象。
# b <- scan("data.csv", what = list("", 0, 0))
函数read.fwf可以用来读取文件中一些固定宽度格式的数据
# read.fwf(file, widths, sep="\t", as.is = FALSE, skip = 0, row.names, col.names, n = -1, ...)
存储数据
<