[英]How to pass a column of file names to mutate and return the number of columns in dplyr
[英]create a column as a function of columns with number as names dplyr
我想基於另外兩列在數據框中創建一列。 列名是年份,我想將其作為變量提供。
例如,如果我有一個數據框data1包含幾年的數據,每個列的名稱都是年份(我知道這可能不是一個正確的名稱),那么:
year = 2022
data1 %>%
select(sprintf("%d", seq(
from = (year - 4),
to = year,
by = 1
))) %>%
mutate(percent = year/(year-1) - 1)
其中 (year/(year-1) - 1 將是從 2021 年到 2022 年的百分比變化,因此將使用 2021 和 2022 列。顯然此代碼不起作用。
非常感謝您的幫助。
列名是字符串,因此我們可能需要轉換為字符串並使用.data
和[[
來提取列
data1 %>%
select(sprintf("%d", seq(
from = (year - 4),
to = year,
by = 1
))) %>%
mutate(percent = .data[[as.character(year)]]/.data[[as.character(year -1)]] - 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.