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