按因子拆分数据帧并按因子命名新的 df 和附加描述,如 "new_dataframe(factor)"
split dataframe by factor and name new df by the factor and addidtional description like "new_dataframe(factor)"
我需要通过循环将我的 df split
变成几个新的 df。问题,这个因素由数字组成,新的 df 被称为 "1"
"2"
等等,这使得下一段代码很难调用它们,...任何帮助我能rename/name 新的 df。像 new_df_1
、new_df_2
?
我目前拥有的:
new_df<- split(df, df$cluster)
new_names <- as.character(unique(df$cluster))
for (i in 1:length(new_df))
{assign(new_names[i],new_df[[i]])}
我也试过 lapply
但只能保存,不能在全局环境中创建 df,因为我实际上不需要保存它以备后用。
new_df<- split(df, df$cluster)
lapply(names(new_df),function(nm)
write.csv(new_df[[nm]],paste("new_df",nm,".csv")))
有效,但生成一个文件:new_df 1.csv
感谢您的任何建议!
如果我们需要全局环境中的对象,请使用list2env
names(new_df) <- paste(new_df, seq_along(new_df), sep="_")
list2env(new_df, envir = .GlobalEnv)
注意:不建议创建多个全局对象。相反,它可以全部处理为 list
('new_df')
或使用assign
nm1 <- names(new_df) # after creating the names with `paste`
for (nm in nm1) {
assign(nm,new_df[[i]])
}
cluster_list <- split(df, f = df$clust)
构建集群列表,操作列表使用:lapply
。
我需要通过循环将我的 df split
变成几个新的 df。问题,这个因素由数字组成,新的 df 被称为 "1"
"2"
等等,这使得下一段代码很难调用它们,...任何帮助我能rename/name 新的 df。像 new_df_1
、new_df_2
?
我目前拥有的:
new_df<- split(df, df$cluster)
new_names <- as.character(unique(df$cluster))
for (i in 1:length(new_df))
{assign(new_names[i],new_df[[i]])}
我也试过 lapply
但只能保存,不能在全局环境中创建 df,因为我实际上不需要保存它以备后用。
new_df<- split(df, df$cluster)
lapply(names(new_df),function(nm)
write.csv(new_df[[nm]],paste("new_df",nm,".csv")))
有效,但生成一个文件:new_df 1.csv
感谢您的任何建议!
如果我们需要全局环境中的对象,请使用list2env
names(new_df) <- paste(new_df, seq_along(new_df), sep="_")
list2env(new_df, envir = .GlobalEnv)
注意:不建议创建多个全局对象。相反,它可以全部处理为 list
('new_df')
或使用assign
nm1 <- names(new_df) # after creating the names with `paste`
for (nm in nm1) {
assign(nm,new_df[[i]])
}
cluster_list <- split(df, f = df$clust)
构建集群列表,操作列表使用:lapply
。