R语言 从一个给定的数据框架中提取给定的行和列

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程