从 R 中的给定数据框中提取给定的行和列
提取给定的行和列一直是最重要的任务之一,在进行数据清理活动时尤其需要这些任务。在本文中,我们将讨论用于从 R 编程语言中的给定数据帧中提取给定行和列的所有命令集。
从数据框中提取单个元素
如果项目的确切位置已知并通过,则可以提取单个元素。
语法:
df[ row , column ]
例子:
R
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[3,2]
R
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[,]
R
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[,1]
R
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[1,]
R
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),]
R
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)]
R
df <- data.frame( c( 30, 40, 50), c( 110, 120, 130 ),c( 280, 285,290))
names(df) <- c("c1", "c2", "c3")
df[1:2,]
R
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]
R
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]
输出:
[1] 130
提取给定的行和列
方法一:提取所有行列
如果没有指定行和列号,则打印所有行和列,基本上是完整的数据集。
句法:
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
方法二:提取一列的所有行
如果未指定行号,但将列号设置为所需的列值,则可以提取列的所有行。
句法:
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
方法三:提取一行的所有列
如果指定了行号,但没有给出列号,则可以提取一行的所有列。
句法:
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
方法五:提取一列以上的所有行
对于要提取的行数,应该不带行参数。
句法:
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
方法八:提取行列范围
提供具有范围的行和列。
句法:
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