R 强迫在算术运算中制造问题

R 强迫在算术运算中制造问题,r,class,dataframe,character,coercion,R,Class,Dataframe,Character,Coercion,我在mtcars数据集中引入了一些字符值。由于强制,变量类成为字符 我的要求是获得数值作为数值类,并让字符值保持其实际形式,即字符类。这样我在计算时就不会遇到问题了 我也尝试了as.numeric(as.character(data))但它将字符值转换为NA 我当前正在获取诸如“abc”“dcb”“4”“2”“6”等变量的结果 但我需要以下内容:abc dcb 4 2 6 有人能帮我弄清楚吗。我将非常感激 我的代码如下: bb<-rep(x = 'abc', times=11) cc<

我在mtcars数据集中引入了一些字符值。由于强制,变量类成为字符

我的要求是获得数值作为数值类,并让字符值保持其实际形式,即字符类。这样我在计算时就不会遇到问题了

我也尝试了as.numeric(as.character(data))但它将字符值转换为NA

我当前正在获取诸如“abc”“dcb”“4”“2”“6”等变量的结果

但我需要以下内容:abc dcb 4 2 6

有人能帮我弄清楚吗。我将非常感激

我的代码如下:

bb<-rep(x = 'abc', times=11)
cc<-rep(x = 'dcb', times=11)
mtcars[1,]<-bb
mtcars[2,]<-cc

bbAs列表存储多种类型,如果您检查数值并将向量的值作为数值

list_data = sapply(data,function(x) {if(is.numeric(x))as.numeric(x)})

您可以将其存储在
列表中,因为它可以具有不同的类型。
向量
只能有一种类型。如果有单个字符元素,则会将其转换为该类型。所以,也许
l1谢谢。如果我得到一个数据集(例如mtcars),前三行为字符,其余行为数字形式,该怎么办?这与我的实际问题更相关。我已经更新了代码。请看一看。谢谢:)谢谢。如果我得到一个数据集(例如mtcars),前三行为字符,其余行为数字形式,该怎么办?这与我的实际问题更相关。对于任何字符串或字符,numeric(x)都将为false,您需要使其更像if(is.numeric(as.numeric(as.character(x))){x}或{as.character(x)},但您仍然会收到NA警告!is.na(as.numeric(x))会吗?我不认为你可以有一个像char和number这样的元素很少的向量,而是按照建议使用一个列表。!is.na(as.numeric(x))它删除字符值,我希望字符值保持原样