我有以下数据框:
Group Number Letter
G1 1 A
G1 NA B
G1 NA X
G1 NA D
G2 1 A
G2 NA B
G2 NA C
G2 NA X
G3 1 A
G3 2 B
G3 3 C
G3 NA X
G4 1 D
G4 NA E
G4 NA F
G4 NA X
我希望使用以下四个条件在每个组中转换此 Dataframe :
1.如果"字母"列中的字母等于"X",则"数字"列中所有前面的NA行的字母都将更改为"U"。
1.如果前面的行在"编号"列中有一个数字而不是NA,则它们保持不变。
1.字母列中带有X的行不会更改。
1.如果带有X的行的前一行在字母列中带有F,则该组中的所有行都不会更改(例如,我的数据框中G4组中的所有行都不会更改)
这应产生如下所示的 Dataframe :
Group Number Letter
G1 1 A
G1 NA U
G1 NA X
G1 NA D
G2 1 A
G2 NA U
G2 NA U
G2 NA X
G3 1 A
G3 2 B
G3 3 C
G3 NA X
G4 1 D
G4 NA E
G4 NA F
G4 NA X
我怎样才能在R中做到这一点,最好使用dplyr?
1条答案
按热度按时间oxf4rvwz1#
试试看
或使用
data.table
数据