如何在R中的纵向数据中添加有条件的新变量

问题描述 投票:0回答:1

在以下数据中,我想添加另一个变量,例如z

mydata
                y  x  sl
    1   199.92989  1   1
    2    27.73883  2   1
    3   144.00000  3   1
    4    72.00000  4   1
    5     0.00000  5   1
    6   392.60636  1   2
    7   749.52499  2   2
    8  3120.00000  3   2
    9  1600.00000  4   2
    10 1000.00000  5   2
    11 5840.00000  6   2
    12 3960.00000  7   2
    13 4700.00000  8   2
    14 1660.00000  9   2
    15 5620.00000 10   2
    16    0.00000  1 585
    17    0.00000  2 585
    18    0.00000  3 585
    19 3062.32962  1 587
    20 2048.97458  2 587
    21 1280.00000  3 587
    22 1440.00000  4 587
    23 2960.00000  5 587
    24  460.00000  6 587
    25  530.00000  7 587
    26 5190.00000  8 587
    27 3200.00000  9 587
    28 4620.00000 10 587
    29    0.00000  1 651
    30    0.00000  2 651
    31    0.00000  3 651
    32    0.00000  4 651

z=c(5,7,8),值5应该重复5次并属于sl=17应该重复10次并属于sl=28应该重复10次属于sl=587,。如果y的所有观察值都是针对0sl的任何585,则651必须取值为z0列必须类似于此z

如何在上述条件下进行?

r dataframe variables add longitudinal
1个回答
0
投票

您可以尝试使用z=c(rep(5,5), rep(7,10), rep(0,3), rep(8,10), rep(0,4))=c(5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 0 0 0 8 8 8 8 8 8 8 8 8 8 0 0 0 0)中的case_when

dplyr
© www.soinside.com 2019 - 2024. All rights reserved.