簡體   English   中英

R:查找與行名稱的子字符串匹配的列名稱

[英]R: Finding column names that match substrings of row names

我試圖從某個列中提取一個值,其中該列名與相應行名的前3個字母匹配。 我認為用示例最容易解釋:
矩陣1

BVT IPL LHC MDC
100200300400

矩陣2

第1列第2列
BVTIPL 100/200
IPLBVT 200/100
LHCIPL 300/200
……
MDCBVT 400/100

在上面,我采用矩陣2行名的左3個字符,找到對應的列名,並將該列中的值除以對應於最右邊3個字符的列中的值,然后將該值放在矩陣2。

任何有關此問題的幫助將不勝感激!

謝謝
麥克風

您可以使用?substr和一個命名向量:

lookupValues <- c(BVT=100, IPL=200, LHC=300, MDC=400)

df <- data.frame(col1=c("BVTIPL", "IPLBVT", "LHCIPL", "MDCBVT"),
                stringsAsFactors=FALSE)

df$col2 <- lookupValues[substr(df$col1, 1, 3)]/lookupValues[substr(df$col1, 4, 6)]
df
#    col1 col2
#1 BVTIPL  0.5
#2 IPLBVT  2.0
#3 LHCIPL  1.5
#4 MDCBVT  4.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM