数据帧操作

问题描述 投票:0回答:1

我有以下名为框https://i.stack.imgur.com/qOo44.png的数据框。我也有两个向量,来自

编辑:这是当前结构的可复制代码

current<-data.frame(ID= c(116,117,118,119,120,121,122,123,124,125), 
 from = c(147,147,147,147,147,147,147,147,147,147),to = c(1,1,1,1,1,1,1,1,1,1),lon=c(-122.6742,-122.6402,-122.6267,-122.5792,-122.5634,-122.5401,-122.5199,-122.5081,-122.4775,-122.4415), 
 lat= c(45.52025, 44.48824, 44.07356, 42.62986, 42.14788, 41.44040, 40.58136,40.46431 ,39.53378, 38.43697))

和我想要的

Final<-data.frame(ID= c(125,124,123,122,121,120,119,118,117,116), 
                  from = c(1,1,1,1,1,1,1,1,1,1), to = c(147,147,147,147,147,147,147,147,147,147),lon=c(-122.4415, -122.4775, -122.5081 ,-122.5199, -122.5401, -122.5634, -122.5792,-122.6267, -122.6402, -122.6742), 
                 lat= c(38.43697 ,39.53378, 40.46431, 40.58136, 41.44040, 42.14788 ,42.62986,44.07356, 44.48824, 45.52025))

结构的更改应基于检测到当前数据帧中列的向量以及与之不匹配的向量。

from<-1 147 141 8
to<-147 141 8 17

任何提示帮助将大有帮助,谢谢。

r dataframe swap
1个回答
0
投票

您可以使用向后索引:

df[116:125,] <- df[125:116,]

示例(df是长度为8的数据帧:]

> df$nums <- c(1,2,3,4,5,6,7,8)
> df[2:5,] <- df[5:2,]
> df$nums
[1] 1 5 4 3 2 6 7 8

但是,在这种情况下,您仍然需要将向量的to / from向量改回原始格式,否则,如果我阅读正确的话,它仍将向后转换。让我知道我是否正确理解了您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.