我的資料框包含 784,081 家公司 * 13 年 = 10,193,053 個獨特的公司年觀察(例如,公司 1_2007、公司 1_2008、公司 1_2009、......、......、公司 784,081 2018,公司 784,081 20129 年)。
現在,我想插入一列“gdpgrowthpercapita”。我有 13 * 12=156 個唯一值(小數,例如 3.34587),具體取決于要插入的年份和本國。
首先,我嘗試嵌套 ifelse() 陳述句。這通常有效,但是,有50 個嵌套陳述句的限制;> 50 的所有內容都不起作用(請參閱此處:嵌套 ifelse 陳述句的可能數量是否有限制)
接下來,我嘗試為每個國家/地區撰寫 ifelse() 陳述句的“塊”;然而,問題是ifelse(test, yes, no)中的no 引數不能被忽略,或者 - 據我所知 - 以一種不涉及 test 不適用的領域的方式設定。
如何編碼我的變數?
我很感謝你的幫助!希望我錯過了一個明顯的方式——作為一個 R 新秀。
先感謝您!
最好的,莫
uj5u.com熱心網友回復:
您不需要嵌套ifelse陳述句 - 只需將列提前定義為 NA,然后重復填寫即可。對于no引數,您可以提供列本身,它會智能地填充值:
df <- head(data.frame(letters, LETTERS))
df$newcol <- NA
df$newcol <- ifelse(test = is.na(df$newcol) & df$letters=="a",
yes = "this is an a",
no = df$newcol)
df$newcol <- ifelse(test = is.na(df$newcol) & df$letters=="b",
yes = "this is a b",
no = df$newcol)
> df
letters LETTERS newcol
1 a A this is an a
2 b B this is a b
3 c C <NA>
4 d D <NA>
5 e E <NA>
6 f F <NA>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351226.html
上一篇:Rifelse陳述句忽略輸入
下一篇:如何在SPSS上創建以下變數?
