我正在尝试使用一个函数向R中的 Dataframe 添加一列。该函数将简单地连接 Dataframe 中的现有字段,并将连接后的值添加为一个新列:
year <- c(2017, 2018, 2019, 2020, 2017, 2018, 2019, 2020, 2017, 2018, 2019, 2020, 2017, 2018, 2019, 2020)
drugType <- c('drug1', 'drug1', 'drug1', 'drug1', 'drug2', 'drug2', 'drug2', 'drug2', 'drug3', 'drug3', 'drug3', 'drug3', 'drug4', 'drug4', 'drug4', 'drug4')
total <- c(21, 18, 17, 10, 1, 1, 3, 4, 192, 242, 111, 234, 34, 26, 36, 17)
perCapitaRate <- c(1.4, 4.3, 3.4, 3.0, 23.0, 3.3, 3.4, 3.5, 3.6, 45.4, 4.4, 4.5, 23.6, 34.7, 22.3, 2.0)
drugDeathsByYr <- data.frame(year, drugType, total, perCapitaRate)
concat_fields <- function(df) {
df$year_drug <- paste(df$year, df$drugType, sep="_")
}
concat_fields(drugDeathsByYr)
但是,当我运行这个命令时,df drugDeathsByYr
没有添加的列。
谢谢。
1条答案
按热度按时间wi3ka0sx1#
只是
return
是赋值,而不是数据现在运行
如果要更新全局env中的原始对象,请使用
envir
作为参数并更新