gpt4 book ai didi

r - 在 R 中用点作为千位分隔符加载 csv 的最优雅的方法

转载 作者:行者123 更新时间:2023-12-02 19:49:15 24 4
gpt4 key购买 nike

注意:据我所知,这个问题不是重复的!我发现的所有问题/答案都是如何从 R 中已有的数据中消除点,或者如何在加载数据时将小数点更改为逗号。

我有一个 csv,其中包含以下数字:4.123,98。问题是,由于 .,当使用 read.tableread.csv 加载时,输出变成字符串矩阵读取.csv2。将 dec 更改为 , 没有帮助。

我的问题
加载此 csv 的最优雅的方法是什么,以便数字变成例如4123.98 作为数字?

最佳答案

改编自这篇文章:Specify custom Date format for colClasses argument in read.table/read.csv

#some sample data
write.csv(data.frame(a=c("1.234,56", "1.234,56"),
b=c("1.234,56", "1.234,56")),
"test.csv", row.names=FALSE, quote=TRUE)

#define your own numeric class
setClass('myNum')
#define conversion
setAs("character", "myNum",
function(from) as.numeric(gsub(",", "\\.", gsub("\\.", "", from))))

#read data with custom colClasses
read_data = read.csv("test.csv",
stringsAsFactors=FALSE,
colClasses=c("myNum", "myNum"))
#let's try whether this is really a numeric
read_data[1, 1] * 2

#[1] 2469.12

关于r - 在 R 中用点作为千位分隔符加载 csv 的最优雅的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com