R语言 从一个给定的数据框架中提取给定的行和列
提取给定的行和列一直是最重要的任务之一,在进行数据清理活动时尤其需要。在这篇文章中,我们将讨论所有的命令集,这些命令用于从R编程语言的给定数据框中提取给定的行和列。
从一个数据框架中提取单个元素
如果项目的确切位置是已知的并被传递,那么就可以提取单个元素。
语法:
df[ row , column ]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[3,2]
输出
[1] 130
提取给定的行和列
方法1:提取所有的行和列
如果没有指定行和列的编号,基本上完整的数据集的所有行和列都会被打印出来。
语法
df[ , ]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[,]
输出
C1 C2 C3
1 30 110 280
2 40 120 285
3 50 130 290
方法2:提取一列的所有行
如果没有指定行号,但列号被设置为所需的列值,则可以提取一列的所有行。
语法
df[,n]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[,1]
输出
[1] 30 40 50
方法3:提取某行的所有列
如果指定了行号,但没有给出列号,可以提取一行的所有列。
语法
df[n,]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[1,]
输出
C1 C2 C3
1 30 110 280
方法4:提取一个以上的行和所有的列
c()中的c表示 “组合”。c函数是一个通用函数,它将参数组合成向量。当指定了要提取的行数而没有指定列数时,将显示带有所有列的选定行。
语法
df[ c(n,m), ]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[ c(1,3),]
输出
C1 C2 C3
1 30 110 280
3 50 130 290
方法5:提取多于一列的所有行
对于这个方法,应该给出要提取的行数,而不需要行数的参数。
语法
df[,c(n,m)]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[,c(2,3)]
输出
c2 c3
1 110 280
2 120 285
3 130 290
方法6:提取所有列的行的范围
如果指定了没有列值的行的范围,就可以实现这个功能。
语法
df[n:m,]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[1:2,]
输出
C1 C2 C3
1 30 110 280
2 40 120 285
方法7:从一个列的范围内提取特定的行
如果提供要提取的行的编号和列的范围,就可以实现我们的功能。
语法
df[r,n:m]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[2,1:3]
输出
C1 C2 C3
2 40 120 285
方法8:提取行和列的范围
提供带有范围的行和列。
语法
df[p:q, n:m]
例子
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[1:2, 1:3]
输出
C1 C2 C3
1 30 110 280
2 40 120 285