0

我有一个名字列表(mylist)。此名称列表与(更大)文件中的某些行名一致,该文件还包含其他数据列(大文件)。如何提取与“mylist”中的名称匹配的“bigfile”中的行?

4

3 回答 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 回答