我有一个名单(mylist)列表。这个名称列表与(更大)文件中的一些行名称一致,后者还包含其他数据列(bigfile)。如何在' bigfile'中提取行?与' mylist'?
中的名称匹配答案 0 :(得分:1)
值得一看的好地方是Hadley's page on subsetting in R。
就问题的具体答案而言,我们假设您有一个原始的rownames列表,您希望对其进行分组,称为“mylist'”。您可以执行以下操作:
index <- row.names(bigfile) %in% mylist[,1]
这应该给出一个布尔表达式,它与bigfile中的行数一样长。
编辑:您还可以查看following Stackoverflow post which nicely addresses the problem。
答案 1 :(得分:0)
# collect the names from the bigfile
BigFileNames <- colnames(bigfile)
# find the intersect between your list and the list of names from Bigfile
common <- intersect(BigFileNames, myListNames)
# extract info from dataframe
infoFromCommon <- bigfile[,match(common, myListNames)]
答案 2 :(得分:0)
提取具有给定行名的矩阵子集。在片段下方,从用户矩阵中提取子集,其中行名与从数据帧中提取的给定用户列表匹配activity_data_t
r_users =用户[行名(用户)%in%唯一(activity_data_t [activity_data_t $ role_id == target_latest_role,“ user_id”]),]