我的数字有“,”表示 1,000 及以上,R 将其视为因数。我想将两个这样的变量从因子转换为数字(实际上这两个变量都是数字,但 R 出于某种原因将它们视为因子(数据是从 excel 导入的)。更改因子变量 mydata$x1
对于数字变量,我使用以下代码,但它似乎无法正常工作并且某些值发生变化,例如它将 8180 更改为零!它也发生了许多其他值。是否有其他方法可以做到这一点而不会出现此类问题?
mydata$x1<- as.numeric(as.character(mydata$x1))
最佳答案
因为问题似乎是您在 Excel 中将数字数据保存为字符(而不是使用格式来显示逗号),您可能需要这样的函数。
#' Replace Commas Function
#'
#' This function converts a character representation of a number that contains a comma separator with a numeric value.
#' @keywords read data
#' @export
replaceCommas<-function(x){
x<-as.numeric(gsub("\\,", "", x))
}
然后
rcffull$RetBackers <- replaceCommas(rcffull$Returning.Backers)
rcffull$NewBackers <- replaceCommas(rcffull$New.Backers)
关于从R中的数字中删除逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49910861/