3
我試圖將一個字符串變量傳遞給一個函數,用作一些數據更改後的列名稱。將函數的字符串參數作爲數據幀列名傳遞給函數dplyr
下面是函數:
cleandata <- function(df,name){
df <- df %>%
gather(key = 'Year',value = name,X1960:X2015)
df <- df %>%
select(-c(X,Indicator.Name,Indicator.Code))
df$Year <- substr(df$Year,start = 2,stop = 5)
df$Year <- as.factor(df$Year)
return(df)
}
我想傳遞一個字符串變量爲「名」,並將它作爲列名。
功能的電流輸出爲:
> cleandata(lifeexp,'LifeExp')
Source: local data frame [13,888 x 4]
Country.Name Country.Code Year name
(fctr) (fctr) (fctr) (dbl)
1 Aruba ABW 1960 65.56937
2 Andorra AND 1960 NA
3 Afghanistan AFG 1960 32.32851
4 Angola AGO 1960 32.98483
5 Albania ALB 1960 62.25437
6 Arab World ARB 1960 46.84706
7 United Arab Emirates ARE 1960 52.24322
8 Argentina ARG 1960 65.21554
9 Armenia ARM 1960 65.86346
10 American Samoa ASM 1960 NA
.. ... ... ... ...
>
的最後一欄應該是 'LifeExp',而不是名。我錯過了什麼?
由於提前,
拉胡爾
這是完美的!謝謝你,馬特。並向我展示如何有效地使用grepl。 (我喜歡上網) – Rahul