AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-11689123

JVGen's questions

Martin Hope
JVGen
Asked: 2023-09-20 06:11:41 +0800 CST

R:使用 tidyrivot_longer() 收集多组列

  • 6

我正在尝试收集两组列。每个集合都需要以一个新列结束,但行数据是链接的,因此顺序使用tidyr::gather()不能保证保留跨列组织。看起来tidyr::pivot_longer()可以做到这一点,但我很难过。类似的帖子在这里,但答案涉及使用 grep 重命名列,我无法解释这一点,而且这里也没有必要。

library(tidyverse)

df <- data.frame(
  Position=1:5,
  A_Width=3:7,
  B_Width=4:8,
  A_Error=seq(0, 2.0, 0.5),
  B_Error=seq(0.3, 1.5, 0.3)
  )


df <- df %>%
  tidyr::pivot_longer(
    cols=c(A_Width, B_Width, A_Error, B_Error),
    names_to= ? ,
    names_pattern= ? ,
    )

##Desired Data Frame
df_long <- data.frame(
  Position=rep(1:5,2),
  Group=c(rep("A",5), rep("B",5)),
  Width=c(3:7,4:8),
  Error=c(seq(0, 2.0, 0.5), seq(0.3, 1.5, 0.3))
  )

  • 2 个回答
  • 19 Views
Martin Hope
JVGen
Asked: 2023-09-15 04:03:08 +0800 CST

R:调整范围从0开始,相应调整数据帧值

  • 5

我有一个包含两列数值的数据框。我想调整值的范围,同时保持数值之间的相对距离。这个例子更好地解释了这一点。

是否有一个标准函数可以完成此任务?

df <- data.frame(
  Name = c("A", "B", "C", "D", "E"),
  Start = c(175000, 183597, 185317, 188307, 191390),
  Stop = c(182548, 184724, 187841, 188599, 192650)
)

Range_Start <- df$Start[df$Name=="C"] - 10000
Range_Stop <- df$Stop[df$Name=="C"] + 10000

Range_Start2 <- 1
Range_Stop2 <- length(Range_Start:Range_Stop)

df2 <- df %>%
  rowwise() %>%
  dplyr::mutate(Start2 = Start - Range_Start) %>%
  dplyr::mutate(Stop2 = Stop - Range_Start)

期望值:

> df2$Start2
[1]  -317  8280 10000 12990 16073

> df2$Stop2
[1]  7231  9407 12524 13282 17333
  • 2 个回答
  • 25 Views
Martin Hope
JVGen
Asked: 2023-08-26 04:27:42 +0800 CST

更改管道中的文件名[重复]

  • 5
这个问题在这里已经有答案了:
unix for循环修改输出文件名 (1 个回答)
10 小时前关闭。

我有一个 for 循环,它接受具有一种类型扩展名的文件,但管道中的最终命令要求 STDIN 文件具有另一种类型的扩展名。在我的管道中,我用来awk更改文件类型,以便其格式适合最终命令,但扩展名仍然链接到初始输入文件。

例如:

for file in *.AAA
do
commandA $file | awk ' { print } ' | commandB

命令B的典型用法:

commandB -i myfile.BBB

有没有办法让我在 for 循环和管道中间更改文件的扩展名?

shell
  • 1 个回答
  • 32 Views
Martin Hope
JVGen
Asked: 2023-08-25 22:44:36 +0800 CST

Linux 中大型 TSV 的条件编辑

  • 7

我有许多大型 TSV 文件,其中有 6 个未命名列和大约 1000 万行。我需要逐行应用更改并保存为新的 TSV。我正在Linux上工作,可以使用 awk、gawk、grep。理想情况下,代码将在其运算符中引用列号,这样无论行内容如何,​​它都能正常运行。蒂亚!

唯一需要更改的是第 2 列和第 3 列,但更改取决于第 6 列中的值:

If the value of column 6 is "+", then:  
New Column 2: [Column 2 Value]  
New Column 3: [Column 2 Value] + 1  
  
If the value of column 6 is "-", then:  
New Column 2: [Column 3 Value] - 1  
New Column 3: [Column 3 Value]  

TSV 数据结构示例(实际数据中不存在 | 存在)

| AI     | 828     | 878     | ABC4807:78485:5:79215       | 42 | - |
| AI     | 971     | 1021    | ABC248:78485:5:79215:46065  | 42 | + |
| AI     | 1104    | 1153    | X7481:78485:5:79215:40174   | 35 | - |
| XVDIII | 56939   | 56988   | 9478:78485:5:79215:30872    | 42 | - |
| XVDIII | 56971   | 57020   | 7841S:78485:5:79215:34301   | 42 | - |
| UTXV   | 1043196 | 1043246 | T885189:78485:5:79215:10036 | 42 | + |
| UTXV   | 1043198 | 1043248 | C74581:78485:5:79215:10792  | 42 | - |
| UTXV   | 1043201 | 1043250 | T75S17:78485:5:79215:30204  | 42 | - |
| UTXV   | 1043201 | 1043251 | B784W7:78485:5:79215:42548  | 42 | - |

所需的 TSV 输出

| AI     | 877     | 878     | ABC4807:78485:5:79215       | 42 | - |
| AI     | 971     | 972     | ABC248:78485:5:79215:46065  | 42 | + |
| AI     | 1152    | 1153    | X7481:78485:5:79215:40174   | 35 | - |
| XVDIII | 56987   | 56988   | 9478:78485:5:79215:30872    | 42 | - |
| XVDIII | 57019   | 57020   | 7841S:78485:5:79215:34301   | 42 | - |
| UTXV   | 1043196 | 1043197 | T885189:78485:5:79215:10036 | 42 | + |
| UTXV   | 1043247 | 1043248 | C74581:78485:5:79215:10792  | 42 | - |
| UTXV   | 1043249 | 1043250 | T75S17:78485:5:79215:30204  | 42 | - |
| UTXV   | 1043250 | 1043251 | B784W7:78485:5:79215:42548  | 42 | - |
linux
  • 2 个回答
  • 34 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve