Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将NA转换为任何类型,包括POSIXct_R_Class_Na - Fatal编程技术网

R 将NA转换为任何类型,包括POSIXct

R 将NA转换为任何类型,包括POSIXct,r,class,na,R,Class,Na,我想在与a变量类型相同的变量中插入NAs。因此,对于可以有任何类的变量x,我想生成相同类的NAsas(NA,类(x))适用于除POSIXct之外的所有方面: >x=as.POSIXct(“2021-01-01”) >as(不适用,第(x)类) 错误class1Def@contains[[class2]]:一级无此类索引 以下情况也是如此: >x_na=na >类别(x_na)=类别(x) >相同(x_-na,润滑脂::na_-POSIXct) 错误的 更广泛的上下文:对于用户提供的data.

我想在与a变量类型相同的变量中插入NAs。因此,对于可以有任何类的变量
x
,我想生成相同类的NAs<代码>as(NA,类(x))适用于除POSIXct之外的所有方面:

>x=as.POSIXct(“2021-01-01”)
>as(不适用,第(x)类)
错误class1Def@contains[[class2]]:一级无此类索引
以下情况也是如此:

>x_na=na
>类别(x_na)=类别(x)
>相同(x_-na,润滑脂::na_-POSIXct)
错误的
更广泛的上下文:对于用户提供的data.frame中的特定行,我试图将所有列(除了一些列)都设置为NA,该数据框可以有任意数量的任何类型的列。因此NAs应为同一类型。。使用

变异(df,跨(
-c(除这些列外),
~if_else(some_col==“some_value”,如(NA,class(.),)
))

除了上面关于
POSIXct
列的错误之外,它工作得很好。还有其他方法吗?

作为一种不令人满意的解决方法,这种硬编码的方法替代了
POSIXct
VAR:

classed_na=函数(x){
if(is.POSIXct(x)){
润滑油:NA_POSIXct_
}否则{
as(不适用,第(x)类)
}
}

变异(df,跨(
-c(除这些列外),
~if_else(some_col==“some_value”,分类为a(.),)
))

您可以尝试
as.POSIXct(NA)
@RonakShah,如果x是
数值的
或其他类型,则会给出错误的类型