gpt4 book ai didi

r - 如何每隔一行将行添加到R数据框中?

转载 作者:行者123 更新时间:2023-12-04 13:16:52 25 4
gpt4 key购买 nike

简介:如何将m行添加到我的m X n数据框中,其中每个新行都插入到每个现有行之后?实际上,我将复制现有的行,但对一个变量进行更改。

更详细:引用another question,我认为我可以使用rgl的segments3d函数来完成我想做的事情。我有一组x,y,z点,但这只是一组线段的一个端点。另一个端点在Z维度上相距几米,作为第四个变量给出:X,Y,Z,Z_Length;用我的术语来说是东,北,高,长。

根据rgl文档,“点是由segments3d成对获取的”。因此,我认为我需要修改数据框以使每隔第二行具有更改的Z变量(通过从Z减去Z_Length)获得额外的条目。从视觉上讲,它需要这样做:

+-------+---------+----------+-----------+---------+
| Label | easting | northing | elevation | length |
+-------+---------+----------+-----------+---------+
| 47063 | 554952 | 5804714 | 32.68 | 619.25 |
| 47311 | 492126 | 5730703 | 10.40 | 1773.00 |
+-------+---------+----------+-----------+---------+

对此:
+-------+---------+----------+-----------+---------+
| Label | easting | northing | elevation | length |
+-------+---------+----------+-----------+---------+
| 47063 | 554952 | 5804714 | 32.68 | 619.25 |
| 47063 | 554952 | 5804714 | -586.57 | 619.25 |
| 47311 | 492126 | 5730703 | 10.40 | 1773.00 |
| 47311 | 492126 | 5730703 | -1762.26 | 1773.00 |
+-------+---------+----------+-----------+---------+

链接的问题处的数据样本可用。

最佳答案

您的样本数据:

orig.df <- read.table(text = "
Label easting northing elevation length
47063 554952 5804714 32.68 619.25
47311 492126 5730703 10.40 1773.00", header = TRUE)

创建要插入的数据:
insert.df <- transform(orig.df, elevation = elevation - length)

将其附加到您的原始数据中:
out.df <- rbind(orig.df, insert.df)

重新排序行:
n <- nrow(orig.df)
out.df[kronecker(1:n, c(0, n), "+"), ]
# Label easting northing elevation length
# 1 47063 554952 5804714 32.68 619.25
# 3 47063 554952 5804714 -586.57 619.25
# 2 47311 492126 5730703 10.40 1773.00
# 4 47311 492126 5730703 -1762.60 1773.00

关于r - 如何每隔一行将行添加到R数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16453452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com