首页 > 解决方案 > 处理新的动态数据框时如何永久保存列类型的更改

问题描述

我正在尝试做这个脚本显示的内容

DF_Data$`Date [MM/DD/YY]`<-    as.Date( get(paste(x,"_Data",sep=""))$`Date [MM/DD/YY]` )

但是 DF_Date 名称并不意味着是静态的,所以理想情况下我想完成这样的事情

get(paste(x,"_Data",sep=""))$`Date [MM/DD/YY]`<- as.Date( get(paste(x,"_Data",sep=""))$`Date [MM/DD/YY]` )

标签: rdataframedynamic

解决方案


在这里,我们可能需要assign代替get

x <- "DF"
obj_nm <- paste0(x, '_Data')
assign(obj_nm, `[<-`(get(obj_nm), "Date [MM/DD/YY]",
     value = as.Date(get(obj_nm)[['Date [MM/DD/YY]']])))

-检查

str(DF_Data)
#'data.frame':  2 obs. of  2 variables:
#$ Date [MM/DD/YY]: Date, format: "2015-10-25" "2018-05-26"
#$ val            : num  -0.546 0.537

数据

set.seed(24)
DF_Data <- data.frame(`Date [MM/DD/YY]` = c("2015-10-25", "2018-05-26"),
             val = rnorm(2), check.names = FALSE)

推荐阅读