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