gpt4 book ai didi

r - 更改数字格式,数据集中的格式错误

转载 作者:行者123 更新时间:2023-12-01 11:47:31 25 4
gpt4 key购买 nike

我收到了一个要分析的数据集,第一行是:

day;lang;nil;longitude;latitude
0;it;5;918.926.528;4.545.545.373
0;ar;28;92.235.078;4.545.206.021
0;es;65;91.225.254;45.497.917
0;it;21;921.481.788;4.547.046.575
0;it;50;915.995;45.450.124
0;ar;28;922.355.903;4.545.202.558
0;ar;28;922.362.504;454.523.043
0;ar;28;922.318.987;4.545.211.746

问题如下:经度和纬度的列格式不正确,因为我知道这些数据是从哪里获取的,经度应该是“9,...”,纬度应该是“45” ,……”

你也可以看到经纬度每条记录的位数是不一样的!

关于如何解决这个问题的任何想法(可能在 R 中)?

最佳答案

如果您对这些数据感到“困惑”,那么这可能会有所帮助:

library(dplyr)

df <- read.table(text="day;lang;nil;longitude;latitude
0;it;5;918.926.528;4.545.545.373
0;ar;28;92.235.078;4.545.206.021
0;es;65;91.225.254;45.497.917
0;it;21;921.481.788;4.547.046.575
0;it;50;915.995;45.450.124
0;ar;28;922.355.903;4.545.202.558
0;ar;28;922.362.504;454.523.043
0;ar;28;922.318.987;4.545.211.746",
header=TRUE, sep=";", stringsAsFactors=FALSE)

cleanup <- function(x, n) {
x <- gsub("\\.", "", x)
x <- sub(sprintf("^%s", n), sprintf("%s\\.", n), x)
as.numeric(x)
}

df %>%
mutate(longitude=cleanup(longitude, 9),
latitude=cleanup(latitude, 45))

## day lang nil longitude latitude
## 1 0 it 5 9.189265 45.45545
## 2 0 ar 28 9.223508 45.45206
## 3 0 es 65 9.122525 45.49792
## 4 0 it 21 9.214818 45.47047
## 5 0 it 50 9.159950 45.45012
## 6 0 ar 28 9.223559 45.45203
## 7 0 ar 28 9.223625 45.45230
## 8 0 ar 28 9.223190 45.45212

关于r - 更改数字格式,数据集中的格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896142/

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