数据帧
R是一个表的数据帧结构,类似于一个数据库表。一个数据帧被实现为一个列表。的元素列表的列向量或因素,存储数据帧。
创建一个数据帧
可以创建一个数据帧从一组列向量使用data.frame()函数如下:
名称< - c (“P1”、“P2”, T1, T2)
< - c类型(“掠夺”,“掠夺”,“TCOD”,“TCOD”)
使用< - c (100, 150, 200, 250)
df1 < - data.frame(名称、类型、使用)
df1
1
2
3
4
访问数据帧的元素
元素数据帧可以以几种不同的方式访问。单个列可以选择从一个数据帧使用它的索引值。第一列在数据帧索引值1。结果返回一个列表。
df1 [1]
1
2
3
4
返回的列可以选择如下。返回的结果是作为一个数据帧。
df1 [1:2]
1
2
3
4
df1 [c (1、3)]
1
2
3
4
返回一个不包括第一列的数据帧,使用1作为索引值:
df1 [1]
1食物
2食物
3 TCOD
4 TCOD
返回一个数据帧列因素,使用以下:
df1 [[1]]
[1]P1 P2 T1 T2
级别:P1 P2 T1 T2
Matrix-style索引可以用来返回单独的行,列和元素从一个数据帧。单个元素并返回列因素。
df1 [1]
[1]P1
级别:P1 P2 T1 T2
df1 [1]
[1]P1 P2 T1 T2
级别:P1 P2 T1 T2
如果一行被选中时,它返回一个数据帧。
df1 [1]
1
访问指定的列
使用下面的列选择一个数据帧的名字。返回的结果是作为一个数据帧。
df1(“名称”)
1
2
3
4
选择多个列,使用:
df1 [c(“名字”,“使用”)]
1
2
3
4
命名列可能是使用美元操作符访问作为一个因素如下:
美元df1类型
[1]掠夺食物TCOD TCOD
级别:掠夺TCOD
colnames()函数返回一个包含列名矢量数据帧:
colnames (df1)
[1]“名称”
一般来说,指定列的数据帧可以用来代替他们的索引值。使用命名列(在可能的情况下)可能使R脚本更具可读性。
子集()函数
子集()函数也可以用来从一个数据帧选择列。这个函数允许条件下放置在列值返回。选择一列,使用子集()函数如下:
子集(df1,选择=名字)
1
2
3
4
选择多个列,使用:
(df1,选择= c子集(名称、用法))
1
2
3
4
选择列值满足条件,使用:
子集(df1,选择= c(名称、用法),子集=(使用> 150))
3
4
排除一个或多个列,选择使用否定值参数:
子集(df1,选择= - name)
1食物
2食物
3 TCOD
4 TCOD
子集(df1,选择= - c(类型、使用))
1
2
3
4
替换数据帧的元素
数据帧的元素可能取代使用赋值运算符如下:
名称< - c (“PROG1”、“PROG2”,“TCOD1”、“TCOD2”)
使用< c (200, 250, 200, 250)
df1[1] < -名字
df1(“使用”)< -用法
df1 [1,3] < - 999
df1
1 PROG1掠夺
2 PROG2掠夺
3 TCOD1 TCOD
4 TCOD2 TCOD
将函数应用到数据帧
聚合函数可能被应用到数据帧列如下:
sum (df1["使用"])
[1]1699
意思是(unlist (df1 [3]))
[1]424.75
在本例中,返回的列表数据帧之前被转换为一个向量计算均值。
is.na()函数可以用来替换所有NA (null)值在0的数据帧。
OLD_NAME < - c (“PROG1”、“PROG2”、“TCOD1”、“TCOD2”)
OLD_TYPE < - c(“掠夺”,“掠夺”,“TCOD”、“TCOD”)
OLD_USAGE < - c (100 NA NA, 150)
df2 < - data.frame (OLD_NAME、OLD_TYPE OLD_USAGE)
df2
1
2
3
4
df2 [is.na (df2)] < - 0
df2
1
2
3
4
mget()函数
mget()函数返回的值命名对象列表。这个函数可以用来返回一个列表的列向量向量的列名称。例如:
名称< - c (“PROG1”、“PROG2”,“TCOD1”)
< - c类型(“掠夺”,“掠夺”,“TCOD”)
列< - c(“名称”、“类型”)
mget(列)
美元的名字
[1]“PROG1”“PROG2”“TCOD1”
美元的类型
[1]“掠夺”“掠夺”“TCOD”
在执行R行动提供的名单列在表1表可以作为一个向量命名Table1_col_names_,向量和每一列的值存储在名为Table1_ <列名称>。源表可以分配给一个列表中使用以下:
< - mget列表(Table1_col_names_)
将列添加到数据帧
添加一个列到数据帧包含适当数量的元素创建一个向量,并分配一个新列向量:
账户< - c (USER1、USER2,“USER3”、“USER4”)
df1(“帐户”)< -账户
df1
1 PROG1掠夺
2 PROG2掠夺
3 TCOD1 TCOD
4 TCOD2 TCOD
另外,使用$符如下:
影响< - c (“R”、“c”、“c”,“R”)
df1 < -影响美元的影响
df1
1 PROG1掠夺
2 PROG2掠夺
3 TCOD1 TCOD
4 TCOD2 TCOD
返回的向量colnames()函数(包括新添加的列:
colnames (df1)
[1]“名称”
数据帧可能附加水平使用cbind()函数如下。这两个数据帧必须有相同数量的行
df2 df3 < - cbind (df1)
df3
1 PROG1掠夺
2 PROG2掠夺
3 TCOD1 TCOD
4 TCOD2 TCOD
将行添加到数据帧
添加一行数据帧,将行存储在一个新的数据帧,然后使用rbind()函数如下:
行< - data.frame (“TCOD3”、“TCOD”, 400年,“USER5”、“R”)
colnames(行)< - c(“名称”、“类型”、“使用”、“账户”,“影响”)
df1 < - rbind (df1行)
df1
1 PROG1掠夺
2 PROG2掠夺
3 TCOD1 TCOD
4 TCOD2 TCOD
5 TCOD3 TCOD
数据帧可能附加垂直使用rbind()函数如下。两个数据帧必须具有相同的列名称。
OLD_NAME < - c (“FUNC1”、“FUNC2”)
OLD_TYPE < - c(“函数”、“函数”)
OLD_USAGE < - c (100、150)
df4 < - data.frame (OLD_NAME、OLD_TYPE OLD_USAGE)
df5 < - rbind (df2 df4)
df5
1
2
3
4
5
6