我有一个包含以下行的csv文件:
V1 V2
1979 05/11/1979
1980 06/14/1980
1981 06/22/1981
1982 06/02/1982
1983 05/21/1983
我需要将其绘制为Y轴的日月和X轴的年份
我尝试执行以下操作:
dat <-read.csv("test.csv",header=FALSE,sep=",")
dat$V3 <-as.Date(dat$V2,format="%m/%d/%y")
plot(dat$V1,dat$V3)
输出是年份与年份,这不是我想要的。任何人都可以提供关于如何绘制这样的东西的任何提示吗?
输出如下:
我想要的应该是这样的:
我会感激任何帮助。
非常感谢提前
答案 0 :(得分:0)
不是最优雅的处理方法,但应该有效:
df$date <- as.Date(df$V2, format="%m/%d/%Y")
df$mm <- format(df$date, "%m") %>% as.numeric
df$dd <- format(df$date, "%d") %>% as.numeric
df$V3 <- df$mm + df$dd/30
plot(df$V1, df$V3, type="l", yaxt="n", ylim=c(5, 7))
points(df$V1, df$V3, pch=16)
axis(2, at=5:7, labels=c("May", "June", "July"))
使用的数据:
df <- structure(list(V1 = 1979:1983, V2 = structure(c(1L, 4L, 5L, 3L,
2L), .Label = c("05/11/1979", "05/21/1983", "06/02/1982", "06/14/1980",
"06/22/1981"), class = "factor"), date = structure(c(3417, 3817,
4190, 4535, 4888), class = "Date"), dm = c(5.11, 6.14, 6.22,
6.02, 5.21), mm = c(5, 6, 6, 6, 5), dd = c(11, 14, 22, 2, 21),
V3 = c(5.36666666666667, 6.46666666666667, 6.73333333333333,
6.06666666666667, 5.7)), .Names = c("V1", "V2", "date", "dm",
"mm", "dd", "V3"), row.names = c(NA, -5L), class = "data.frame")