将循环结果添加到R中的数据帧

时间:2019-11-02 22:54:20

标签: r loops dataframe

嗨,我是R语言的新手。

我正在运行一个循环,以根据人的区域和下面指定的数据帧中的值“ v”找出人的数量。我想将循环结果保存到数据帧,以便可以使用它。谢谢您的帮助。

from typing import Type, TypeVar

class A:
    pass

class A1(A):
    pass

class A2(A):
    pass

T_A = TypeVar('T_A', bound='A')

def fun(A_type: Type[T_A]) -> T_A:
    if A_type == A1:
        r1 = A1()
        assert isinstance(r1, A_type)
        return r1
    else:
        r2 = A2()
        assert isinstance(r2, A_type)
        return r2

a1: A1 = fun(A1)
a2: A2 = fun(A2)
print("winner winner chicken dinner")

1 个答案:

答案 0 :(得分:0)

我认为您这里不需要for循环-我们可以使用cutmutate调用中创建间隔:

library(dplyr)

res <- 
data %>% 
  filter(v <= 100 & x == "man") %>% 
  mutate(Interval = cut(v, seq(0, 100, 10))) %>% 
  group_by(Region = reg, Interval) %>% 
  tally() %>% 
  ungroup()

head(res)
## A tibble: 6 x 3
#  Region Interval     n
#   <int> <fct>    <int>
#1      1 (0,10]       9
#2      1 (10,20]     10
#3      1 (20,30]     10
#4      1 (30,40]     10
#5      1 (40,50]     10
#6      1 (50,60]     10

相信这是您的预期输出。