格式化起点和终点数据

时间:2019-06-03 12:48:50

标签: r dataframe format

我想更改数据,如下所示。希望你能帮助我!

我有此数据:

"balloon":{
            "textAlign": "left"
            }

我想要这张桌子:

Person, Trip,Destination
1, 1,Japan
1,2,US,
2,1,US
2,2, Japan
2,3, China

预先感谢

1 个答案:

答案 0 :(得分:0)

我们使用末尾注释中可重复显示的数据。该问题具有示例输出,但没有解释其计算方式,因此我们仅假设它是由Destination组内Person的旋转定义的。首先定义一个rotation函数,然后使用ave将其应用于每个Person组。最后,按问题中显示的顺序对列进行重新排序。不使用任何软件包。

rotate <- function(x) c(tail(x, 1), head(x, -1))
transform(DF, Origin = ave(Destination, Person, FUN = rotate))[c(1:2, 4:3)]

给予:

  Person Trip Origin Destination
1      1    1     US       Japan
2      1    2  Japan          US
3      2    1  China          US
4      2    2     US       Japan
5      2    3  Japan       China

注意

假设删除第二行数据的逗号,则使用以下输入:

Lines <- "Person, Trip,Destination
1, 1,Japan
1,2,US
2,1,US
2,2, Japan
2,3, China"
DF <- read.csv(text = Lines, strip.white = TRUE, as.is = TRUE)