我从excel导入了一个数据集。我有一个专栏'Height',我希望将','替换为'。' 。 我试过这个命令,但它给了我错误。
apply(apply(DATASET$Height, 2, gsub, patt=",", replace="."), 2, as.numeric)
非常感谢您的帮助
答案 0 :(得分:1)
要在数据框'DATASET'中重新编码列'Height':
DATASET$Height <- gsub(",",".",DATASET$Height,fixed=TRUE)
有任何错误吗?如果没有,您可以继续将列转换为数字。 转换为数字时会出错?也许除了“,”之外还有其他字符可以阻止R将值读取为数字。在这种情况下,您需要再次应用gsub来删除所有非数字字符。
答案 1 :(得分:0)
首先,你应该检查它是否是字符。然后,我会用逗号分割字符串,然后用点粘贴它们:
假设a是您使用DATASET[["Height"]]
a <- c("234,23", "2314,54", "234,65")
然后使用sapply
,您可以拆分并折叠每个字符元素:
b <- sapply(a,
function(string){
paste0(unlist(strsplit(string, split=",")),collapse=".")
})
现在,您可以将DATASET[["Height"]]
替换为b
。