r - 如何在R中的一列中分隔2个数字
问题描述
在 R 中,我想分隔同一列中的数字。我的数据如下所示:
id time
1 1,2
2 3,4
3 4,5,6
我希望它看起来像这样:
1 1
1 2
2 3
2 4
3 4
3 5
3 6
虽然没有显示,但有不同的时间迭代,具体取决于 id。例如:
4 1,6,7
5 1,3,6
6 1,4,5
7 1,3,5
8 2,3,4
有 100 个 id,时间列有不同的 #s,它们的顺序如上所示。
有没有人有建议这样做?
解决方案
一个选项separate_rows
library(dplyr)
library(tidyr)
df %>%
separate_rows(time, sep = "(?<=.)(?=.)", convert = TRUE)
# A tibble: 4 x 2
# id time
# <dbl> <int>
#1 1 1
#2 1 2
#3 2 3
#4 2 4
数据
df <- structure(list(id = c(1, 2), time = c(12, 34)), class = "data.frame",
row.names = c(NA,
-2L))
推荐阅读
- r - ggplot geom_smooth 无法为 lm 方法关闭 se
- mongodb - MongoDB:数组条目的有序匹配
- events - jupyterlab 按钮事件不起作用
- javascript - 为什么我的表单输出 NaN?
- tensorflow - 如何使用 tf.layers 类而不是函数
- pdfbox - 如何使用 PDFBox 从 PDF 文件中删除覆盖?
- c# - 为什么我的 ASP.NET ListBox 没有填充结果?
- python - 如何将两个列表合并到 Python 中的字典中?Dict 和 Zip 不起作用
- r - 使用 mutate() 返回关于无法修改的错误,因为它是一个分组变量
- python-2.7 - 如何在 3D 数组上应用 mean_squared_error