gpt4 book ai didi

r - 没有适用于 'separate_' 的方法应用于类 "character"的对象

转载 作者:行者123 更新时间:2023-12-04 04:23:35 24 4
gpt4 key购买 nike

我的环境中有四个数据框,每个数据框的第一列如下所示:

      product.consom.unit.tax.currency.geo.time
1 6000,4161901,KWH,I_TAX,EUR,AL
2 6000,4161901,KWH,I_TAX,EUR,AT
3 6000,4161901,KWH,I_TAX,EUR,BA
4 6000,4161901,KWH,I_TAX,EUR,BE
5 6000,4161901,KWH,I_TAX,EUR,BG
6 6000,4161901,KWH,I_TAX,EUR,CY

我想使用 tidyr separate 将第一列分成多列:

data <- list(c("df1", "df2", "df3", "df4"))
sep <- function(x){
x <- separate(x, 1, c("prod", "band", "unit", "tax", "currency", "geo"), ",", remove = TRUE)
}
lapply(data, sep)

当我运行 lapply 时,出现以下错误:

Error in UseMethod("separate_") : no applicable method for 'separate_' applied to an object of class "character"

我们将不胜感激任何帮助!

最佳答案

你帖子下的评论已经指出了问题。我提供了一个结合 lapply()list2env() 的解决方案来实现你想要的:

library(tidyr)
data <- list(df1, df2, df3, df4)
names(data) <- paste0("df", 1:4)
list2env(lapply(data, separate, 1, c("prod", "band", "unit", "tax", "currency", "geo"), ","), .GlobalEnv)

(separate() 中的参数remove 默认为TRUE,所以我忽略它。)

工作区中的

df1df4 将被覆盖为分隔的表单。

关于r - 没有适用于 'separate_' 的方法应用于类 "character"的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com