我从 NOAA 下载了长达一年的数据。问题是下载的数据中也有文本。所以,我找到了数据线的模式并将其提取出来。我使用的代码如下:
url <- "http://tidesandcurrents.noaa.gov/data_menu.shtml?bdate=20080101&edate=20081231&wl_sensor_hist=W2&relative=&datum=6&unit=0&shift=s&stn=8737048+Mobile+State+Docks%2C+AL&type=Historic+Tide+Data&format=View+Data"
download.file(url,destfile="data/mobile-docks-2008.dat")
mob2008 <- readLines("data/mobile-docks-2008.dat")
head(mob2008)
# Find pattern to separate data
pat <- grep(pattern="([0-9]+)\\s[0-9]",mob2008)
jd1 <- data.frame(mob2008[pat])
head(jd1)
> head(jd1)
mob2008.pat.
1 8737048 20080101 00:00 0.125 0.270
2 8737048 20080101 01:00 0.090 0.220
3 8737048 20080101 02:00 0.070 0.167
4 8737048 20080101 03:00 0.061 0.093
5 8737048 20080101 04:00 0.057 0.002
6 8737048 20080101 05:00 0.052 -0.108
如何在 R 中将单行更改为多列?似乎是一个微不足道的问题,但我坚持这一点。
问题是数据框 jd1 只有一列。我需要每行有 5 列。