【发布时间】:2020-10-21 07:04:31
【问题描述】:
假设我下载了一个名为econ_dmg.csv的数据集
fileUrl <- "https://raw.githubusercontent.com/MichaelSodeke/DataSets/main/econ_dmg.csv"
download.file(fileUrl, destfile="econ_dmg.csv", method = "curl", mode="wb")
df <- read_csv("econ_dmg.csv")
然后我将元素分组:
df2 <- df %>% group_by(state, max.net.loss)
接下来我转换为一个列表:
df3 <- group_split(df2)
假设我想在这个列表中添加一个随机数据框:
newDF <- data.frame(state=c("UT", "UT"), evtype=c("FLASH FLOOD", "WINTER STORM"), max.net.loss=c(900, 900))
newDF <- as_tibble(newDF)
然后假设我想在列表df3 中添加它在子集df3[[20]] 之后。我尝试了以下方法,但失败了:
df3 <- append(list(newDF), df3, after=df3[[20]][[3]])
请解释我在append() 函数中使用after= 参数时做错了什么。
非常感谢。
【问题讨论】:
-
@akrun 你能演示一下吗。我不明白。
-
对不起,我没有阅读您数据中 group_split 的部分。你需要this
-
@akrun 我已经审查了该解决方案。但该解决方案仅在元素为整数/数字类型时才有效。我列表中的元素是数据框。你运行代码了吗?
-
我对你的代码有点困惑,因为
after给出的是df3[[20]][[3]]#[1] 5000而'df3' 的length是72 -
@akrun df3[[20]] 引用列表中的特定位置,返回该位置的元素。 df3[[20]][[3]] 指的是该数据框元素在该位置的第 3 列。我想在位置 df3[[20]] 之后放置
newDF。
标签: r