我在列表中有一些数据需要查找连续的整数运行(我的脑子想rle但不知道如何在这里使用它).
查看数据集并解释我所追求的内容会更容易.
这是数据视图:
$greg
[1] 7 8 9 10 11 20 21 22 23 24 30 31 32 33 49
$researcher
[1] 42 43 44 45 46 47 48
$sally
[1] 25 26 27 28 29 37 38 39 40 41
$sam
[1] 1 2 3 4 5 6 16 17 18 19 34 35 36
$teacher
[1] 12 13 14 15
Run Code Online (Sandbox Code Playgroud)
期望的输出:
$greg
[1] 7:11, 20:24, 30:33, 49
$researcher
[1] 42:48
$sally
[1] 25:29, 37:41
$sam
[1] …Run Code Online (Sandbox Code Playgroud) 假设我有以下数字向量:
vec = c(1, 2, 3, 5, 7, 8, 9, 10, 11, 12)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个函数,它将创建一个字符串,以人类的方式总结数字列表,即
"1-3, 5, 7-12"
Run Code Online (Sandbox Code Playgroud)
我怎么能在R中这样做?
我有一个表示页面的字符串1,2,3,4,8,9,10,15.
我想要将其显示为,1-4,8-10,15 即序列中的数字由连字符分隔,连字符由最小和最大数字依次包围.
如果按顺序中断,则范围用逗号分隔.
string pageNos = "5,6,7,9,10,11,12,15,16";
string result=string.Empty;
string[] arr1 = pageNos.Split(',');
int[] arr = new int[arr1.Length];
for (int x = 0; x < arr1.Length; x++) // Convert string array to integer array
{
arr[x] = Convert.ToInt32(arr1[x].ToString());
}
for (int i = 0; i < arr.Length;i++)
{
for (int j = i + 1; ; j++)
if (arr[i] == (arr[j] - 1))
result += arr[i].ToString() + "-" + arr[j].ToString();
else
result += arr[i].ToString() + ","; …Run Code Online (Sandbox Code Playgroud)