问题描述
我有一个很大的列表(1 582 238个元素),我想删除所有重复项,同时保留数字的名称。
我的列表看起来像这样
$`GUE/NGL.mepid`
[1] 197701
...
$`Verts/ALE.mepid`
[1] 197837
可在此处使用:https://github.com/JMcrocs/MEPVote/blob/master/MEPList.rds
当我使用unique(mylist)时,我会丢失数字的名称。
[[1]]
[1] 197701
[[2]]
[1] 197533
[[3]]
[1] 197521
不幸的是,该列表太大,无法转换为data.frame,因此我没有找到解决方案。
请你能帮我吗?
最好的问候
解决方法
使用{props.superheros?props.superheros.map((element)=>{
//your code
})
:null //if undefined it prints nul
}
而不是!duplicated()
的子集来保留名称。
unique()
或再次使用l <- list(197701,197837,197701)
names(l) <- c("GUE/NGL.mepid","Verts/ALE.mepid","GUE/NGL.mepid")
# > unique(l)
# [[1]]
# [1] 197701
#
# [[2]]
# [1] 197837
#
# > l[!duplicated(l)]
# $`GUE/NGL.mepid`
# [1] 197701
#
# $`Verts/ALE.mepid`
# [1] 197837
来检索唯一元素的名称。
(unique()
保持出现的顺序)。
unique()
,
尝试一下:
df <- readRDS('MEPList.rds')
df1 <- as.data.frame(do.call(rbind,df))
df2 <- df1[!duplicated(df1$V1),drop=F]
输出:
head(df2)
V1
GUE.NGL.mepid 197701
GUE.NGL.mepid.1 197533
GUE.NGL.mepid.2 197521
GUE.NGL.mepid.3 187917
GUE.NGL.mepid.4 124986
GUE.NGL.mepid.5 197529
然后,您可以格式化rownames()
以获得名称。