如何解决从一个表中选择数据从另一个表中选择数据列,使用r
我的数据表 tab 是 2000 x 500,y1 = col1,y2 = col2,y3 = col3 ...。 Y500 = col500。看图。
我想对其中的一部分进行一些 PCA 工作,例如 y1 = col1、y22 = col22、y36 = col36、y41 = col41 等等。
单独的数据表 SM 包含列 ID,并引用我要考虑的主数据表(选项卡)中的列。有 200 个这样的条目。
SM 的图片如下。
以下
fit.std <- prcomp(tab,scale.=T)
拉入所有列条目。
如果我要考虑 200 个特定的数据列,手动输入列号将非常耗时且容易出错。
谁能告诉我如何从列 ID(在数据表 SM 中)获取数据,在数据表选项卡中选择相应的列,然后包含在 fit.std 行中?
有没有办法在 SM 中接收数据,使我能够在较大的数据表选项卡中选择所需的列?换句话说,SM col1 对应tab col1,SM col22 对应tab col22,以此类推。
fit.std <- promo(c(ID$*),scale = TRUE)
其中 ID$* 包含我想与选项卡中的列匹配的数据表 SN 条目?
谢谢。
解决方法
好的,根据您更新的问题,您似乎想要对数据框 tab
进行子集化,只选择 SM$ID
中列出的列。
你可以这样做:
tab[,SM$ID]
,
我不确定您的要求到底是什么,但我会尽我所能完成您的任务。
假设 tab
是一个具有 2000 行和 500 列的数据框。而 SM
是一个数据框,其中 SM$ID
指的是 tab
中的列。
然后您可以使用以下方法获取 SM$ID
引用的列的列表:
list_of_cols <- lapply(SM$ID,function(x) tab[,x])
如果您想将此向量列表折叠(或“展平”)为单个向量,您可以执行以下操作:
single_vec <- unlist(list_of_cols)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。