将 r 中的列转换为行[重复]

2023-12-15

我使用代码形成了以下数据

test <- data.frame(dis = c(10,20,30,40),dur=c(30,40,60,90),method=c("car","car","Bicycle","Bicycle"),to_lon=c(-1.980,-1.5678,-1.324,-1.456),to_lat=c(55.3009,55.3416,55.1123,55.2234),from_lon=c(-1.4565,-1.3424,-1.4566,-1.1111),from_lat=c(76.8888,65.8999,76.9088,25.3344))

 dis dur  method  to_lon  to_lat from_lon from_lat
1  10  30     car -1.9800 55.3009  -1.4565  76.8888
2  20  40     car -1.5678 55.3416  -1.3424  65.8999
3  30  60 Bicycle -1.3240 55.1123  -1.4566  76.9088
4  40  90 Bicycle -1.4560 55.2234  -1.1111  25.3344

我想转换此数据框,使其有一行用于 to_lat 和 to_lon,在下一行中有 from_lat 和 from_lon。其余细节不需要更改并且可以复制。期望的结果应该如下所示

    dis dur method  longitude   latitude
from    10  30  car -1.98   55.3009
to  10  30  car -1.4565 76.8888
from    20  40  car -1.5678 55.3416
to  20  40  car -1.3424 65.8999
from    30  60  Bicycle -1.324  55.1123
to  30  60  Bicycle -1.4566 76.9088
from    40  90  Bicycle -1.456  55.2234
to  40  90  Bicycle -1.1111 25.3344

任何帮助都感激不尽。

Thanks.


我们可以用melt from data.table这可能需要多个measure列。

library(data.table)
dM <- melt(setDT(test), measure=patterns('lon', 'lat'), 
          value.name=c('longitude', 'latitude'))
#change the 'variable' column from numeric index to 'from/to'
dM[, variable:= c('from', 'to')[variable]]
#create a sequence column grouped by 'variable'
dM[,i1:= 1:.N ,variable]
#order based on the 'i1'
res <- dM[order(i1)][,i1:=NULL]
res
#    dis dur  method variable longitude latitude
#1:  10  30     car     from   -1.9800  55.3009
#2:  10  30     car       to   -1.4565  76.8888
#3:  20  40     car     from   -1.5678  55.3416
#4:  20  40     car       to   -1.3424  65.8999
#5:  30  60 Bicycle     from   -1.3240  55.1123
#6:  30  60 Bicycle       to   -1.4566  76.9088
#7:  40  90 Bicycle     from   -1.4560  55.2234
#8:  40  90 Bicycle       to   -1.1111  25.3344
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 r 中的列转换为行[重复] 的相关文章

  • 零膨胀泊松分布的经验和理论分布图

    以下是我正在研究的一种数据集 data lt c 0 1 0 11 2 0 3 0 0 2 1 3 1 0 1 0 0 0 2 3 0 0 0 8 1 1 1 0 1 1 2 7 0 0 0 5 2 3 6 1 1 5 2 9 0 0 1
  • 如何在不指定数据集的情况下调整函数

    我有一个函数 基本上可以过滤SPV行 如下所示 请注意 我这样做return coef lt function df1 idd dmda CategoryChosse 然而 我不希望df1作为函数的参数 而是函数的属性df1数据集 在本例中
  • 在 R/ggplot2 中将字符串转换为函数参数的最佳方法? [复制]

    这个问题在这里已经有答案了 我正在开发一个闪亮的应用程序 用户可以选择可以使用 ggplot2 绘制哪些变量 但是我完全不确定将字符串 即要绘制的变量的名称 转换为合适的函数参数的最佳方法 考虑以下非常人为的 有效的示例 df lt dat
  • 替换为 NA

    我有一个包含条目的数据框 看来这些值没有被视为 NA 因为 is na 返回 FALSE 我想将这些值转换为 NA 但找不到方法 Use dfr dfr
  • 抑制 r markdown 中的控制台输出,但保留绘图

    嗨 我有以下降价块 r echo FALSE warning FALSE message FALSE error FALSE lapply obj function x plot x main some plot box axis 1 at
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 使用梯度下降(最速下降)估计线性回归

    示例数据 X lt matrix c rep 1 97 runif 97 nrow 97 ncol 2 y lt matrix runif 97 nrow 97 ncol 1 我已经成功创建了成本函数 COST lt function th
  • 如何编写一个也接受字符输入的 NES 函数?

    我正在开发一个将字符串作为函数参数的 R 包 现在我想使用非标准评估来允许非字符串输入 另外 为了保持向后兼容性 我想保留函数接受字符串的可能性 哈德利给出了example https cran r project org web pack
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • 如何使用 ggplot 绘制矩阵图

    我想可视化一个矩阵 MAT lt matrix c 100 7 0 0 49 0 0 0 49 nrow 3 ncol 3 gt MAT 1 2 3 1 100 7 0 2 0 49 0 3 0 0 49 然而 标准方法不能正确地对小数字进
  • 将 R 传单地图保存为 html:不包括图块

    我正在尝试使用 saveWidget 或将 rmd 文件输出到 html 来保存 R 传单地图 如下所述 将传单输出保存为 html https stackoverflow com questions 30110377 saving lea
  • R:使用 as.formula 修复模型中的模型调用

    我有一个gls模型 其中我将公式 来自另一个对象 分配给模型 equation lt as formula aic obj row model gt equation temp avg I year 1950 mod1 lt gls equ
  • 如何重试错误语句?

    如果某个语句出错 我如何简单地告诉 R 重试该语句几次 例如 我希望做类似的事情 tryCatch dbGetQuery Query database error function e if is locking error e If da
  • 如何在 ggplot2 中向 x 轴添加特定值?

    我正在尝试在 ggplot2 中绘制图表 我希望 x 轴显示 2 84 以及下面键入的序列 除了在 Breaks 中输入所有精确值之外 还有其他方法吗 我尝试了谷歌 但它没有解决我的问题 scale x continuous limits
  • ggplot2:图例中的斜体

    我正在尝试编辑图例中的标签 以便第一个标签 WT 为纯文本 而后续 7 个标签为斜体 我一直在使用element text face c plain rep italic 7 但这导致没有任何标签被转换为斜体 我有点困惑为什么它不起作用 因
  • 在 R 中高效加载稀疏矩阵

    我在将数据有效加载到 R 中的稀疏矩阵格式时遇到问题 这是我当前策略的 不完整 示例 library Matrix a1 Matrix 0 5000 100000 sparse T for i in 1 5000 a1 i idxOfCol
  • 在ggplot2中添加水平线到绘图和图例

    这段代码创建了一个漂亮的图 但我想在 y 50 处添加一条水平黑线 并让图例显示一条黑线 并在图例中显示文本 cutoff 但在图例中保留源点 我可以使用 geom line 添加该行 但无法在图例中获取该行 library ggplot2
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • R 中的微秒时间戳

    在 CSV 文件中 我有几列 其中一列有时间戳 其中每个时间戳是今天午夜经过的微秒 每个 csv 文件仅包含一天内的数据 因此这并不含糊 我的问题是 如何将这些微秒时间戳解析为 R 多谢 我的 CSV 文件的一部分 34201881666
  • 如何解决 R 估计中的整数溢出错误

    我正在尝试使用估计模型speedglm在 R 中 数据集很大 约 6988 万行和 38 列 行数和列数相乘得到约 27 亿 超出了整数限制 我无法提供数据 但以下示例重现了该问题 library speedglm large exampl

随机推荐

  • Flutter - 如何切换flutter通道而不需要每次都下载flutter & dart sdk

    目前我正在尝试 flutter web 为此我需要在 flutter master 频道上工作 但是 然后我需要处理其他项目 在他们身上 我正在开发颤振稳定通道 但是 每次我使用命令 flutter channel stable 或 flu
  • 将组合框字符串值转换为 int

    我有一个关于转换类型的问题 我想将当前选定的组合框值字符串更改为 int 但出现错误 My code int Parse age SelectedItem ToString 对于这个问题我能做什么 好的 现在我们知道错误了 您可以在尝试解析
  • xpath 查找特定根下具有特定名称的所有属性

    为了找到所有具有名称的属性myAttr在文档中我可以这样做 myAttr但是如果我想指定根并仍然在文档中查找具有该名称的所有属性怎么办 就像是 root whatever or nothing myAttribute 这样怎么样 root
  • SQL Server 中按 x 排序,然后按 y 列排序

    考虑一个像这样的表 debit credit code 0 10 5 5 0 3 0 11 2 0 15 1 7 0 6 6 0 2 5 0 1 我需要生成这样的结果集 首先借记 然后按代码列排序 debit credit code 5 0
  • 如何在 Flutter 中更改主题?

    所以我在这里尝试获取当前主题 无论是浅色还是深色 所以我可以相应地改变小部件颜色 但是 它不起作用 我使用 if 语句来知道何时是黑暗模式 但它总是 False 这是代码 顺便说一句 它在深色和浅色主题之间切换 但是当我尝试获取当前主题时
  • Subversion E160004 X的根节点的前身是Y但应该是Z

    我继承了一个大型 Subversion 存储库 74010 修订版 并且我正在尝试执行转储 加载以将存储库升级到 1 8 版本 以利用节省空间的功能 在尝试这个过程之前我跑了svnadmin verify对有问题的存储库进行检查 以确保该存
  • 在 Google 商店中将多个 Chrome 扩展程序作为单个项目发布

    Chrome 扩展程序和 Chrome 应用程序具有我需要实现某些功能的 API 但我无法仅使用扩展程序或仅使用应用程序或使用本机代码来实现此目的 所以我制作了一个扩展程序和一个应用程序 并使它们通过消息相互通信 一切正常 但现在我必须发布
  • 将表单提交到操作 php 文件

    我有一个表单 当用户单击 提交 时 我需要运行一个 php 文件 下面是表单和 php 文件
  • Spirit X3,如何让属性类型匹配规则类型?

    对于 Spirit X3 解析器的开发 我想使用语义操作 脚注 1 对我来说 控制如何将属性存储到 STL 容器中非常重要 这个问题是关于如何控制解析器属性 attr ctx 与规则类型 val ctx 匹配 以便可以正确分配它 也许这个问
  • 如何构建电影数据库和用户选择?

    我想创建电影数据库 用户可以在其中标记他 她观看和喜欢的电影 class Movies ndb Model watched ndb UserProperty liked ndb UserProperty 那行得通吗 我使用谷歌帐户 以后我应
  • PySpark - RDD 中对象的时间重叠

    我的目标是根据时间重叠对对象进行分组 我的每个对象rdd包含一个start time and end time 我可能效率很低 但我计划做的是根据每个对象是否与任何其他对象有任何时间重叠来为每个对象分配一个重叠 id 我有时间重叠的逻辑 然
  • 为什么Spring Boot时找不到bean?

    我以更方便的方式重新配置了 DAO 通过使用 JpaRepository 而不是手动执行所有样板代码 但现在每次我启动 Spring 应用程序时都会出现以下错误 APPLICATION FAILED TO START Description
  • React-Redux 和 Connect - 为什么我的状态在点击时没有更新?

    我是 redux 的新手 正在编写一个简单的投票前端 允许用户对他们最喜欢的框架 Angular React Vue 进行投票 当用户点击他们想要投票的框架时 我打算将商店中的投票增加一票 我在用着combineReducers and c
  • 多个条件Where子句

    我目前有一个查询 它将根据任何内容从我的数据库中提取大量信息where我想使用的条件 declare CaseNum char 7 ImportId char FormatId char SessionId char 5 set CaseN
  • 从文件共享运行 .NET 应用程序,无需代码签名

    每当从文件共享运行 NET exe 时 NET 安全模型都会引发安全错误 从本地驱动器运行时不会出现该错误 有谁知道无需签署代码即可解决此问题的方法吗 使用 CasPol 完全信任共享 更多答案在这里 为什么我的 NET 应用程序在从网络驱
  • Windows Azure 中的持续集成服务器

    我想在我的项目中使用持续集成系统 但是 我不想使用办公室中的服务器 而是希望我的持续集成服务器在 Windows Azure 上运行 有人设置过这个吗 是否有在 Azure 中托管 Hudson 或 CruiseControl Net 或任
  • 传递给函数时指向结构的指针根本不改变

    stack h define MAX STACK 10 typedef int STACK ITEM typedef struct Stack STACK stack c include stack h struct Stack STACK
  • Firebase 根视图控制器未找到警告

    我今天收到来自 Firebase Analytics 的奇怪警告 这是
  • mysql 具有多个变量的表结构

    我正在编写一个脚本 它将根据不同的条件计算票数并将计数存储在汇总表中 我无法理解如何构建我的表 因为会有超过 1 个变量 该脚本将每周运行一次 每次执行都会添加新的一周 一旦新的月份开始并且脚本执行 就会添加新的月份 一旦新年开始 就会添加
  • 将 r 中的列转换为行[重复]

    这个问题在这里已经有答案了 我使用代码形成了以下数据 test lt data frame dis c 10 20 30 40 dur c 30 40 60 90 method c car car Bicycle Bicycle to lo