楼主: 马蹄声鸣
2097 7

[问答] R语言 如何把一列数中的连续的数字分出来? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

72%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
72 点
帖子
6
精华
0
在线时间
62 小时
注册时间
2018-10-22
最后登录
2021-1-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
比如 6  7 12 13 14 15 46 52
我想把这串数字分成 6 7、12 13 14 15、46、52 四组,代码应该怎么写呢?或者有没有可以直接调用的函数能够实现?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 有没有

回帖推荐

conbrownkkk 发表于2楼  查看完整内容

假设数据存储在a里,代码中result = vector("list", 100)的100需要是一个比较大的数,最后的result应该是你需要的结果,希望没有编写错误。变量reslult是一个list[/backcolor]

cheetahfly 发表于4楼  查看完整内容

太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决: split(a, a %/% 10)
沙发
conbrownkkk 发表于 2019-12-28 08:32:37 |只看作者 |坛友微信交流群
  1. a = c(6,8,12,13,14,15,46,1,2,3)
  2. result = vector("list", 100)
  3. b = c(a[-1],0)
  4. c = b - a
  5. k = 1
  6. result[[1]] = a[1]
  7. for(i in 1:length(c))
  8. {
  9.         
  10.         if(c[i] == 1)
  11.         {
  12.                 result[[k]] = c(result[[k]], a[i+1])
  13.         }
  14.         if(c[i] != 1)
  15.         {
  16.                 k = k+1
  17.                 result[[k]] = a[i+1]
  18.         }
  19.         
  20. }
  21. result = result[1:(k-1)]
复制代码
假设数据存储在a里,代码中result = vector("list", 100)的100需要是一个比较大的数,最后的result应该是你需要的结果,希望没有编写错误。变量reslult是一个list
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

藤椅
马蹄声鸣 发表于 2019-12-28 14:06:14 |只看作者 |坛友微信交流群
conbrownkkk 发表于 2019-12-28 08:32
假设数据存储在a里,代码中result = vector("list", 100)的100需要是一个比较大的数,最后的result应该是你 ...
太感谢了!我好好看看!

使用道具

板凳
cheetahfly 在职认证  发表于 2019-12-28 20:07:10 |只看作者 |坛友微信交流群
太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决:
split(a, a %/% 10)

使用道具

报纸
马蹄声鸣 发表于 2019-12-28 20:41:54 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-12-28 20:07
太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决:
split(a, a %/% 10)
大神!!

使用道具

地板
conbrownkkk 发表于 2019-12-29 09:53:32 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-12-28 20:07
太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决:
split(a, a %/% 10)
Great!

使用道具

7
conbrownkkk 发表于 2019-12-29 09:53:36 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-12-28 20:07
太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决:
split(a, a %/% 10)
Great!

使用道具

8
qoiqpwqr 发表于 2019-12-30 10:24:07 |只看作者 |坛友微信交流群
cheetahfly 发表于 2019-12-28 20:07
太不R style 了,还带着浓浓的C语言的风格,在R语言里,这样解决:
split(a, a %/% 10)
如果a <- c(6, 7, 8, 9, 10, 13, 14, 15, 20, 21, 52),这行代码就不正确了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 18:34