我試圖在R中編寫一個將輸入信息映射到輸出但將輸入保留在同一數據框中的函數。我有一個我寫的函數,它會接受輸入併爲單個值提供正確的輸出,但是我缺乏R知識來知道如何重寫這個,因此我可以傳入一個向量。R - 如何將一個新列添加到另一列的計算結果的數據框中
我想在一個框架中傳遞它,並向數據框添加一個新列。下面的實施例的代碼:
d <- data.frame(Type=c("_Swap_","Nothing","CAP", "FLOOR", "FLOOR", "BLAH", "Digital", "Something!"))
d$newType= createTags(d$Type)
createTags = function(Type){
map = data.frame(input=c("Swap","Note","Option", "Floor", "FLOOR", "CAP", "Digital", "Bond"),
output=c("Swap","Note","Option", "CapFloor", "CapFloor", "CapFloor", "CapFloor", "Bond"))
tag="Unknown"
print(length(Type))
for (j in 1:NROW(map)) {
input = map[j,]$input
output = map[j,]$output
ifelse (grepl(toupper(input), toupper(Type))){
tag = output
}
}
return(tag)
}
所以在輸出我想d有兩列,一種是原始的類型,然後在端部應該有稱爲NEWTYPE第二列。
謝謝!我不知道交換機或sapply功能。更多學習! – David