楼主: chen0hui
10743 13

[问答] R语言 如何求连续数据的最大个数 [推广有奖]

  • 7关注
  • 1粉丝

本科生

33%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
1.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
850 点
帖子
42
精华
0
在线时间
100 小时
注册时间
2013-12-13
最后登录
2024-3-4

楼主
chen0hui 在职认证  学生认证  发表于 2015-1-29 19:33:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

现有一组数据如下: 001111000011101000011111000

     请问如何使用R语言求取连续的1的个数,并取得最大的连续个数。如上数据,第一组连续的1的个数为4,第二组为3,第三组为1,第四组为5,那么最大的连续数为5.

     该如何用R编程来实现呢?


二维码

扫码加我 拉你入群

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

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

关键词:R语言 连续个数 如何使用 最大的 如何用 R语言 编程 连续个数

回帖推荐

李会超 发表于4楼  查看完整内容

用gsub函数把0替换为空格,再用strsplit分割,然后对每个元素求长度

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

一个粗略的代码

dataorz 发表于5楼  查看完整内容

ryoeng 发表于6楼  查看完整内容

这个也行。
随遇而安

沙发
kaifengedu 发表于 2015-1-29 19:55:00
一个粗略的代码
  1. rm(list=ls())
  2. x<-sample(c(0,1),20,rep=T)
  3. x
  4. find <- function(x){
  5.   n <- length(x)
  6.   start <- rep(0,n)
  7.   end <- rep(0,n)
  8.   for (i in 1:n) {
  9.     if(x[i] == 1) {
  10.       start[i] <- i
  11.       j <- i
  12.       while (x[j] == 1 & j <= n){
  13.         end[i] = j
  14.         j <- j + 1
  15.       }
  16.     }
  17.   }
  18.   
  19.   c <- end - start
  20.   ind <- which.max(c)
  21.   xs <- start[ind]
  22.   xe <- end[ind]
  23.   return(xe-xs+1)
  24. }
  25. find(x)
复制代码

藤椅
qyxhouzi 发表于 2015-1-29 21:05:02
kaifengedu 发表于 2015-1-29 19:55
一个粗略的代码
   新手表看不懂,能说说思路吗

板凳
李会超 发表于 2015-1-29 22:27:49 来自手机
用gsub函数把0替换为空格,再用strsplit分割,然后对每个元素求长度

报纸
dataorz 发表于 2015-1-30 09:15:19
  1. a <- "001111000011101000011111000"
  2. a <- gsub("0+",",",a)         #  将1或多个0 替换为 ","
  3. b <- strsplit(a,",")               #  将 a 按照","分割为多个字符串
  4. b <- sapply(b,nchar)          #  获取每个字符串的长度
  5. which.max(b)                     #  获取最大值
复制代码


已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
yywan0913 + 1 + 1 标题是连续数据的最大个数,假如连续的0比1.
李会超 + 20 + 10 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

地板
ryoeng 在职认证  发表于 2015-1-30 12:48:33
提示: 作者被禁止或删除 内容自动屏蔽

7
chen0hui 在职认证  学生认证  发表于 2015-1-30 15:27:15
kaifengedu 发表于 2015-1-29 19:55
一个粗略的代码
谢谢,很好的思路,学习啦!

8
chen0hui 在职认证  学生认证  发表于 2015-1-30 15:28:52
dataorz 发表于 2015-1-30 09:15
哈哈,这个思路真的很奇特,赞一个!

9
chen0hui 在职认证  学生认证  发表于 2015-1-30 15:33:01
ryoeng 发表于 2015-1-30 12:48
这个也行。
赞!我只能表示无限的崇拜···

10
chen0hui 在职认证  学生认证  发表于 2015-1-30 15:34:01
李会超 发表于 2015-1-29 22:27
用gsub函数把0替换为空格,再用strsplit分割,然后对每个元素求长度
谢谢啦!赞一个!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 09:01