read_delim("data/ambulance.csv", delim = "|")
## Parsed with column specification:
## cols(
## date = col_character(),
## num_rides = col_integer(),
## num_childrides = col_character(),
## text = col_character()
## )
## # A tibble: 2,943 x 4
## date num_rides num_childrides text
## <chr> <int> <chr> <chr>
## 1 26.07.201~ 7670 742 "7670 \u0438\u0437 \u043d\u0438\u0~
## 2 25.07.201~ 8016 769 "8016 \u0438\u0437 \u043d\u0438\u0~
## 3 24.07.201~ 8209 777 "8209 \u0438\u0437 \u043d\u0438\u0~
## 4 23.07.201~ 8461 750 "8461 \u0438\u0437 \u043d\u0438\u0~
## 5 22.07.201~ 7328 706 "7328 \u0438\u0437 \u043d\u0438\u0~
## 6 21.07.201~ 7393 716 "7393 \u0438\u0437 \u043d\u0438\u0~
## 7 20.07.201~ 7644 770 "7644 \u0438\u0437 \u043d\u0438\u0~
## 8 19.07.201~ 8175 812 "8175 \u0438\u0437 \u043d\u0438\u0~
## 9 18.07.201~ 8094 745 "8094 \u0438\u0437 \u043d\u0438\u0~
## 10 17.07.201~ 7952 756 "7952 \u0438\u0437 \u043d\u0438\u0~
## # ... with 2,933 more rows
Иногда строки в CSV-файле содержат запятые. Чтобы они не вызывали проблем, их нужно заключать в кавычки, как " или '. Обычно read_csv() считает, что кавычки выглядят так ", и если вы хотите поменять их, то нужно использовать read_delim(). Напишите код, чтобы прочитать следующий текст (“x,y1,‘a,b’”) как датафрейм.
read_delim("x,y\n1,'a,b'", delim = ",", quote = "'")
Определите, что не так с каждым из следующих CSV-файлов. (read_csv(“a,b1,2,34,5,6”) Как можно исправить код?
read_csv("a,b\n1,2,3\n4,5,6", col_names = c("1", "2", "3"),skip = 1 )
(read_csv(“a,b,c1,21,2,3,4”)
read_csv("a,b,c\n1,2\n1,2,3,4", col_names = c("a", "b", "c", "d") , skip = 1)
## Warning in rbind(names(probs), probs_f): number of columns of result is not
## a multiple of vector length (arg 2)
## Warning: 1 parsing failure.
## row # A tibble: 1 x 5 col row col expected actual file expected <int> <chr> <chr> <chr> <chr> actual 1 1 <NA> 4 columns 2 columns literal data file # A tibble: 1 x 5
## # A tibble: 2 x 4
## a b c d
## <int> <int> <int> <int>
## 1 1 2 NA NA
## 2 1 2 3 4
(read_csv(“a,b"1”))
read_delim("a,b\n\"1", delim = "|", quote = " ")
## # A tibble: 1 x 1
## `a,b`
## <chr>
## 1 "\"1"
(read_csv(“a,b1,2,b”))
read_csv("a,b\n1,2\na,b", col_names = c("a","b"), comment = "a")
## # A tibble: 1 x 2
## a b
## <int> <int>
## 1 1 2
(read_csv(“a;b1;3”)
read_csv2("a;b\n1;3")
## Using ',' as decimal and '.' as grouping mark. Use read_delim() for more control.
## # A tibble: 1 x 2
## a b
## <int> <int>
## 1 1 3
Напишите код, чтобы привести к нужному типу следующие даты и время:
d1 <- "January 1, 2010"
parse_date(d1, "%B %d, %Y")
## [1] "2010-01-01"
d2 <- "2015-Mar-07"
parse_date(d2, "%Y-%b-%d")
## [1] "2015-03-07"
d3 <- "06-Jun-2017"
parse_date(d3, "%d-%b-%Y")
## [1] "2017-06-06"
d4 <- c("August 19 (2015)", "July 1 (2015)")
parse_date(d4,"%B %d (%Y)")
## [1] "2015-08-19" "2015-07-01"
#mdy(d4)
d5 <- "12/30/14"
parse_date(d5, "%m/%d/%y")
## [1] "2014-12-30"
t1 <- "1705"
parse_time(t1, "%H%M")
## 17:05:00
t2 <- "11:15:10.12 PM"
parse_time(t2, "%I:%M:%OS %p")
## 23:15:10.12