R语言 如何逆转数据框架的顺序

R语言 如何逆转数据框架的顺序

数据框架的顺序颠倒包括以这样的方式交换行或列,以便从后面访问这些元素。在这篇文章中,我们将讨论颠倒数据框架的列和行的顺序的各种方法。

颠倒列的顺序

方法1:使用rev方法

R中的rev()方法用于返回R对象的反转顺序,无论是数据框架还是矢量。它默认会计算出反向列。结果数据框架首先返回最后一列,然后是之前的列。行的顺序保持不变。结果必须存储在一个新的变量中,以保留修改的内容。

语法:

rev (df)

其中df是数据框架。

例子

# declaring a dataframe in R
data_frame <- data.frame(col1 = c(1:4),
                         col2 = letters[1:4],
                         col3 = c(8:11))
 
print ("Original Dataframe")
print (data_frame)
 
# calculating reverse of dataframe
rev_data_frame <- rev(data_frame)
 
print ("Modified Dataframe")
print (rev_data_frame)

输出

[1] "Original Dataframe"
 col1 col2 col3
1    1    a    8
2    2    b    9
3    3    c   10
4    4    d   11
[1] "Modified Dataframe"
 col3 col2 col1
1    8    a    1
2    9    b    2
3   10    c    3
4   11    d    4

方法2:使用ncol方法

R中的ncol()方法用于返回指定数据框架的列数。数据框架从最后一列索引到第一列索引的范围内访问,也就是1。

例子

# declaring a dataframe in R
data_frame <- data.frame(col1 = c(1:4),
                         col2 = letters[1:4],
                         col3 = c(8:11))
 
print ("Original Dataframe")
print (data_frame)
 
# computing reverse
rev_data_frame <- data_frame[,ncol(data_frame):1 ]
 
print ("Modified Dataframe")
print (rev_data_frame)

输出

[1] "Original Dataframe"
col1 col2 col3
1    1    a    8
2    2    b    9
3    3    c   10
4    4    d   11
[1] "Modified Dataframe"
col3 col2 col1
1    8    a    1
2    9    b    2
3   10    c    3
4   11    d    4

颠倒行的顺序

方法1:使用转置和rev方法

rev()方法在列的基础上颠倒了矩阵的顺序。这里的想法是把它的方法放在基础概念上,即转置的矩阵的转置等同于原矩阵。

语法:

t( t( M) ) = M

其中M是矩阵或数据帧。

对数据框架进行转置,改变数据框架的行和列的顺序。现在,行变成列,列变成行。使用as.data.frame()方法将转置后的矩阵转换为数据框架。rev()方法被应用在这个转置的数据框架上。这将颠倒数据框架中的行的顺序。反转后的数据框架需要再次转置,以便正确显示数据框架。因此,数据框架被退回到原始格式。然后使用as.data.frame()将这个输出明确转换为数据框架。

例子

# declaring a dataframe in R
data_frame <- data.frame(col1 = c(1:4),
                         col2 = letters[1:4],
                         col3 = c(8:11))
 
print ("Original Dataframe")
print (data_frame)
 
# transpose of dataframe
transpose <- t(data_frame)
 
# converting the result to dataframe
transpose <- as.data.frame(transpose)
 
# calculating reverse of dataframe
rev_data_frame <- rev(transpose)
 
# transpose of reverse dataframe
rev_data_frame <- t(rev_data_frame)
 
# converting the result to dataframe
rev_data_frame <- as.data.frame(rev_data_frame)
 
print ("Modified Dataframe")
print (rev_data_frame)

输出

[1] "Original Dataframe"
 col1 col2 col3
1    1    a    8
2    2    b    9
3    3    c   10
4    4    d   11
[1] "Modified Dataframe"
  col1 col2 col3
V4    4    d   11
V3    3    c   10
V2    2    b    9
V1    1    a    8

方法2:使用apply方法

R中的apply()方法用于在R对象、向量、数据帧或矩阵上应用一个指定的函数。该方法返回一个向量或数组,或通过将函数应用于数组或矩阵的相应部分而得到的数值列表。

语法:

apply(df , axis, FUN, …)

参数:

df – 一个数据帧或矩阵

axis – 应用该函数的轴。对于一个数据框架,1表示行,2表示列,c(1, 2)表示行和列。

FUN – 要应用的函数。

在这种方法中,rev函数计算数据框架在行轴上的反向。

例子

# declaring a dataframe in R
data_frame <- data.frame(col1 = c(1:4),
                         col2 = letters[1:4],
                         col3 = c(8:11))
 
print ("Original Dataframe")
print (data_frame)
 
# calculating reverse
rev_data_frame <- apply(data_frame, 2, rev)
 
# converting the result to dataframe
rev_data_frame <- as.data.frame(rev_data_frame)
 
print ("Modified Dataframe")
print (rev_data_frame)

输出

[1] "Original Dataframe"
 col1 col2 col3
1    1    a    8
2    2    b    9
3    3    c   10
4    4    d   11
[1] "Modified Dataframe"
 col1 col2 col3
1    4    d   11
2    3    c   10
3    2    b    9
4    1    a    8

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程