使用for循环R计算数据帧列中的数字序列

23堆栈1254

我想计算一个数字序列在R中出现的次数,这种情况下说1,然后是2(依次是1和2),尝试使用for循环。

set.seed(123)
df<-as.data.frame(replicate(1,sample(0:2,50,rep=TRUE)))
> df
   V1
1   2
2   2
3   2
4   1
5   2
6   1
7   1
8   1

...

counter = 0
for(i in seq_along(var1$df)){
  if(i == 1 & i + 1 == 2){
        counter = counter + 1
  }
}

counter

基本上,我试图计算序列在列中出现的次数。我喜欢for循环(出于学习目的)的想法,但对其他方法持开放态度。谢谢。

阿克伦

无需for循环即可实现

f1 <-function(vec, val){
        rl <- rle(vec)
        sum(rl$values[-length(rl$values)] == val[1] & rl$values[-1] == val[2])
   }

f1(df$V1, 1:2)
#[1] 1

或使用 rleid

library(dplyr)
library(data.table)
df %>% 
    group_by(grp = rleid(V1), V1) %>% 
    slice(1) %>% 
    ungroup %>% 
    mutate(V2 = lead(V1, default = last(V1))) %>%
    summarise(n = sum(V1 == 1 & V2 == 2))

或另一种选择是paste将元素放在一起并用str_count

library(stringr)
str_count(str_c(df$V1, collapse=""), "12")
#[1] 1

另外,使用for循环

counter  <- 0
    for(i in seq_len(nrow(df)-1)) {
      if(df$V1[i] == 1 & df$V1[i+1] == 2) {
         counter <- counter + 1
        }

    }
counter
#[1] 1

数据

df <- structure(list(V1 = c(2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L)), 
  class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6", "7", "8"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算数据帧特定列中的数字总和

来自分类Dev

计算数据帧中跨列的最长连续序列-R

来自分类Dev

使用Python中的while循环计算数字序列

来自分类Dev

使用dplyr计算数据帧中多列中的“是”

来自分类Dev

计算数据帧列R中的出现次数

来自分类Dev

计算数据帧中不相等数字的出现

来自分类Dev

计算数据帧中前两列的位数

来自分类Dev

根据循环索引或在r中使用plyr在数据帧中创建列序列

来自分类Dev

使用dplyr计算数据帧中的梯度

来自分类Dev

计算数据帧中每行的NA

来自分类Dev

计算数字序列的长度

来自分类Dev

使用 R 计算数据框中列实体的出现次数

来自分类Dev

在R中解析和计算数字

来自分类Dev

计算数据帧的子集

来自分类Dev

如何计算数据帧中的数据类型数

来自分类Dev

如何计算数据帧中的数据类型数

来自分类Dev

计算数据帧中列的平均字符串长度

来自分类Dev

计算数据帧列中多个字符串的词频

来自分类Dev

计算数据帧两列中字符串之间的共享词

来自分类Dev

使用for循环在R中过滤数据帧

来自分类Dev

R计算数据帧或数组中相邻相同值的数量

来自分类Dev

如何优化R中的sapply以计算数据帧上的运行总计

来自分类Dev

如何根据R中的因子水平计算数据帧中值的频率?

来自分类Dev

写一个 R 脚本来计算数据帧中的平均值

来自分类Dev

自动计算数据表页脚中具有数字数据的列的总和

来自分类Dev

使用汇总函数计算数据帧中单词的频率

来自分类Dev

使用 for 循环计算变量,然后放入 R 中的数据帧

来自分类Dev

计算数据框中列的组

来自分类Dev

计算数据帧中(长)周末的天数

Related 相关文章

热门标签

归档