大家好,我正试图安排重复的代码,使他们出现在一个又一个。请看下面的代码和数据:
df1 <- structure (list(
subject_id = c("191-5467", "191-6784", "191-3457", "191-0987", "191-1245", "191-1945", "191-3000", "191-5000", "191-9600", "191-0001", "191-0002", "191-0003", "191-0004", "191-5000"),
edta_collect = c(1,0,1,1,1,0,0,1,1,1,1,1,1,1),
edta_code = c("EDTA45", NA, "EDTA20", "EDTA66", "EDTA12", NA,NA,"EDTA19", "EDTA03", "EDTA66", "EDTA10", "EDTA03", "EDTA30", "EDTA20"),
ipv = c(1,1,4,6,3,2,5,1,3,4,5,2),
epds = c(13, 12, 10, 8, 30, 33, 20, 26, 12, 10, 11, 15, 1, 13, 40)),
class = "data.frame", row.names = c(NA, -14L))
edta <- df1 %>%
select(subject_id, edta_collect, edta_code) %>%
filter(edta_collect == 1)
n_occur_edta <- data.frame(table(edta$edta_code))
edta[edta$edta_code %in% n_occur_edta$Var1[n_occur_edta$Freq > 1], ]
电流输出:
subject_id edta_collect edta_code
2 191-3457 1 EDTA20
3 191-0987 1 EDTA66
6 191-9600 1 EDTA03
7 191-0001 1 EDTA66
9 191-0003 1 EDTA03
11 191-5000 1 EDTA20
型
所需输出:
subject_id edta_collect edta_code
2 191-3457 1 EDTA20
11 191-5000 1 EDTA20
3 191-0987 1 EDTA66
7 191-0001 1 EDTA66
6 191-9600 1 EDTA03
9 191-0003 1 EDTA03
型
最好不要完全改变我的代码,也许只是改变它。
1条答案
按热度按时间hk8txs481#
在更
dplyr
的意义上,我将通过以下方式生成您的当前输出:字符串
如果你只是想按照字母顺序
edta_code
对数据进行排序,你可以单独使用arrange()
:型
如果您必须按它们首次出现的顺序排列,则可以将
edta_code
转换为因子类型并重新定义其水平:型