![](/img/trans.png)
[英]Compare columns of two different tables and replace specific words in a string R
[英]Compare two columns and replace value in R
我想比較R中兩列的值。如果無損天數(dfd)大於或與總天數列(TotalDays)相同,那么我想將dfy值替換為Age(這是天數)-總天數。
我已經看到了與此有關的不同問題,但到目前為止似乎沒有任何效果。 如果有人能幫助我,我將不勝感激!
Example columns:
dfy TotalDays age
7305.00 2872.21 10261
2556.75 3001.43 10210
3215.31 2941.87 12931
我要實現的示例:(將dfy替換為age-TotalDays)
dfy TotalDays age
7433.79 2872.21 10261
2556.75 3001.43 10210
9988.13 2941.87 12931
可復制的代碼:
df <- data.frame(dfy=c(7305.00,2556.75,3215.31),
TotalDays = c(2872.21, 3001.43, 2941.87), age = c(10261, 10210, 12931))
我們可以創建一個邏輯vector
並僅替換'dfy'中對於該vector
為TRUE的那些元素。
i1 <- with(df, TotalDays < dfy)
df$dfy[i1] <- with(df, age[i1] - TotalDays[i1])
更快的選擇是通過在適當位置分配( :=
)使用data.table
library(data.table)
setDT(df)[TotalDays < dfy, dfy := age - TotalDays]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.