r - 你如何在 R 中打开连字符和逗号分隔的数字范围?例如 1,3,5-7 -> 1,3,5,6,

大家好,我想知道是否有人可以帮助我解决一些让我在开始使用 R 时遇到困难的问题?类似于 this post but in R .

本质上与 R.utils 函数 seqToHumanReadable 相反。

标题 LLFC 红色 一个 15, 18 11.65 b 16 & 19 9.08 c 112-114 6.45 d 113-115,145-147 6.45 表>

会变成:

标题 LLFC 红色 一个 15 11.65 一个 18 11.65 b 16 9.08 b 19 9.08 c 112 6.45 c 113 6.45 c 114 6.45 d 113 6.45 d 114 6.45 d 115 6.45 d 145 6.45 d 146 6.45 d 147 6.45 表>

非常感谢您的帮助!

我开始尝试 if,计算出每个带连字符的数字之间的差异,并通过循环运行多次以尝试添加额外的行,但结果一团糟。

编辑:哇,非常感谢大家的回复。解决了我的问题,让我有更多的东西可以继续阅读!

最佳答案

看起来有点麻烦,但它会返回您预期的输出:

library(dplyr)

df %>% 
 mutate(LLFCs = gsub('-', ':', LLFCs)) %>% 
 separate_rows(LLFCs, sep = ',') %>% 
 rowwise() %>% 
 mutate(LLFCs = ifelse(grepl(':', LLFCs), toString(eval(parse(text = LLFCs))), LLFCs)) %>% 
 separate_rows(LLFCs)

# A tibble: 13 × 3
   Title LLFCs   Red
   <chr> <chr> <dbl>
 1 a     15    11.6 
 2 a     18    11.6 
 3 b     16     9.08
 4 b     19     9.08
 5 c     112    6.45
 6 c     113    6.45
 7 c     114    6.45
 8 d     113    6.45
 9 d     114    6.45
10 d     115    6.45
11 d     145    6.45
12 d     146    6.45
13 d     147    6.45

关于r - 你如何在 R 中打开连字符和逗号分隔的数字范围?例如 1,3,5-7 -> 1,3,5,6,7 在不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74773227/

相关文章:

c++ - 在 C++ 中有没有办法像在 Java 中那样进行垃圾回收?

python - 捕获具有正面前瞻性但不匹配模式的组的正则表达式

r - 如何折叠 R 中分类变量的水平

rust - 类型 `&[u8]` 不能被 `usize` 索引?

javascript - 使用 js 正则表达式验证 gsheet/excel 相对范围字符串

regex - Linux 提取特定字符串之间的文本

c++ - 从函数中获取两个数组并将它们存储在 C++ 中的不同数据类型数组中

typescript - 从返回类型推断出窄字符串文字类型

c# - 查找过去最近的日期

c# - Blazor (.net 7) 中的三种依赖注入(inject)语法有区别吗?