[英]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.