处理“会计”格式的负数
我有数据集,其中负值是围绕数字提出的,即(10)==-10
,它是以csv格式,我如何处理它,使R将(10)
解释为-10
? 谢谢。
更新我知道我可以通过replace(
as -
,remove )
,然后使用as.numeric
来解决这个问题,但是对于这个问题有没有更好的方法呢?
如果为会计格式创build“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"