我有一个名字列表(mylist)。此名称列表与(更大)文件中的某些行名一致,该文件还包含其他数据列(大文件)。如何提取与“mylist”中的名称匹配的“bigfile”中的行?
问问题
6396 次
3 回答
1
一个很好的地方是Hadley 的 R 子集页面。
就问题的具体答案而言,让我们假设您有一个原始的行名列表,您希望将其作为子集,称为“mylist”。您可以执行以下操作:
index <- row.names(bigfile) %in% mylist[,1]
这应该给出一个与大文件中的行数一样长的布尔表达式。
编辑:您还可以查看以下 Stackoverflow 帖子,它很好地解决了这个问题。
于 2014-04-08T16:34:41.607 回答
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)]
于 2017-12-05T17:08:41.757 回答
0
提取给定行名的矩阵的子集。在片段下方,从用户矩阵中提取子集,其中行名与从数据框 activity_data_t 中提取的给定用户列表匹配
r_users = users[rownames(users) %in% unique(activity_data_t[activity_data_t$role_id == target_latest_role, "user_id"]),]
于 2020-07-21T22:44:07.347 回答