我們的資料集:
mydat <- data.frame(
Date=c("Jan 1, 2022", "Jan 1, 2022", "Jan 2, 2022","Jan 4, 2022", "Jan 4, 2022", "Jan 6, 2022"),
City=c("Worcester","Boston","Ashburn","Brockton","Cambridge", "Springfield"),
Users=c(3,34,1,2,1,2))
看起來像這樣:
| 日期 | 城市 | 用戶 |
|---|---|---|
| 2022 年 1 月 1 日 | 伍斯特 | 3 |
| 2022 年 1 月 1 日 | 波士頓 | 34 |
| 2022 年 1 月 2 日 | 阿什本 | 1 |
| 2022 年 1 月 4 日 | 布羅克頓 | 2 |
| 2022 年 1 月 4 日 | 劍橋 | 1 |
| 2022 年 1 月 6 日 | 斯普林菲爾德 | 2 |
我想創建一個新列,其中包含某個城市的值,并將所有不在該城市的列留空。
我試圖用這樣的 if/else 來做到這一點:
mydat$boston_users <- if (dat$City == "Boston") mydat$Users else " "
最終發生的是我在新列中得到空白,如下所示:
| 日期 | 城市 | 用戶 | 波士頓用戶 |
|---|---|---|---|
| 2022 年 1 月 1 日 | 伍斯特 | 3 | |
| 2022 年 1 月 1 日 | 波士頓 | 34 | |
| 2022 年 1 月 2 日 | 阿什本 | 1 | |
| 2022 年 1 月 4 日 | 布羅克頓 | 2 | |
| 2022 年 1 月 4 日 | 劍橋 | 1 | |
| 2022 年 1 月 6 日 | 斯普林菲爾德 | 2 |
所以我說得好,我的陳述必須被打破,所以當我放入一些我知道不會出現的荒謬的東西時,我能夠獲得要填充的值。
mydat$hello_users <- if ("hello" == "hello") mydat$Users else " "
| 日期 | 城市 | 用戶 | 你好用戶 | 波士頓用戶 |
|---|---|---|---|---|
| 2022 年 1 月 1 日 | 伍斯特 | 3 | 3 | |
| 2022 年 1 月 1 日 | 波士頓 | 34 | 34 | |
| 2022 年 1 月 2 日 | 阿什本 | 1 | 1 | |
| 2022 年 1 月 4 日 | 布羅克頓 | 2 | 2 | |
| 2022 年 1 月 4 日 | 劍橋 | 1 | 1 | |
| 2022 年 1 月 6 日 | 斯普林菲爾德 | 2 | 2 |
我知道這很簡單,但我錯過了
uj5u.com熱心網友回復:
我使用 NA 而不是空白“”,否則它會將資料型別更改為字串。c("your_city")你可以在ie中放一個城市串列c("Boston", "NY", "York)
mydat$boston_users <- ifelse(dat$City %in% c("<Your_city>"), mydat$Users, NA)
uj5u.com熱心網友回復:
我想到了
dat$BostonUsers <- ifelse(dat$City == "Boston", dat$Users, " ")
這將使用前一列中的值創建一個新列,其余部分顯示為空白。我之前的問題是我試圖創建一個函式,而不僅僅是 R 中的 ifelse 功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/517962.html
上一篇:優化if陳述句中的條件
