[英]Data from one table to select data columns from another table, using 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 條目?
謝謝你。
好的,根據您更新的問題,您似乎想對 dataframe 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.