我有数据集,负值用括号括起来,即 (10)==-10
,它是 csv 格式,我该如何处理它以便 R 解释 (10)
如 -10
?谢谢你。
更新
我知道我可以通过替换 (
来解决这个问题如 -
, 删除 )
,并使用 as.numeric
之后,但有没有更优雅的方法来解决这个问题?
最佳答案
如果您为会计格式创建“as.acntngFmt”方法,您可以阅读(或者可能使用 colClasses("acnt") 使用文本连接重新阅读)。
setClass("acntngFmt")
# [1] "acntngFmt"
setAs("character", "acntngFmt",
function(from) as.numeric( gsub("\\)", "", gsub("\\(", "-", from))))
Input <- "A, B, C
(1.76), 1%, 3.50€
2.00, 2%, 4.77€
3.000, 3% , €5.68"
DF <- read.csv(textConnection(Input), header = TRUE,
colClasses = c("acntngFmt", "character", "character"))
str(DF)
'data.frame': 3 obs. of 3 variables:
$ A: num -1.76 2 3
$ B: chr "1%" "2%" "3%"
$ C: chr "3.50€" "4.77€" "€5.68"
关于r - 处理 "accounting"格式的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068705/