2017-09-26 76 views
1

問題我有一個表如何繪製DATE頻率?與表

library(RISmed) 
search_topic <- "BID" 
search_query <- EUtilsSummary(search_topic, mindate = 2016, maxdate=2018) 
summary(search_query) 
QueryId(search_query) 
records <- EUtilsGet(search_query) 
y <- data.frame(cbind("year"= YearPubmed(records), "month"= MonthPubmed(records))) 
date() 
count<-table(y) 
count 

month 
year 1 2 3 4 5 6 7 8 9 10 11 12 
    2016 49 54 49 59 45 54 43 44 40 47 42 42 
    2017 52 35 52 48 30 37 43 42 25 0 0 0 

我創建了計數的數據幀,但一旦我嘗試把它做成as.Date,轉變爲NA。

我想按日期來繪製,我可以得到一天很好,但不是對我很重要。 但我不斷收到錯誤。一個字符串不是不明確的格式。 事情是這樣的:

Graph of Input(BID)

我似乎無法做到這一點。

我想隨着時間的推移(過去2年)繪製的頻率。

這是一個閃亮的應用程序,我取得了裏面,但輸出是我的命。

有什麼建議嗎?

我明白任何反饋。

+0

您可以更具體地瞭解您的預期產出(例如,發表一個例子)? – emilliman5

回答

2

試試這個:

library(RISmed) 
library(dplyr) 
library(ggplot2) 
search_topic <- "BID" 
search_query <- EUtilsSummary(search_topic, mindate = 2016, maxdate=2018) 
summary(search_query) 
QueryId(search_query) 
records <- EUtilsGet(search_query) 
y <- data.frame(cbind("year"= YearPubmed(records), "month"= MonthPubmed(records))) 
date() 
count<-table(y) 
count 

y$date <- as.Date(strptime(paste(y$year, y$month, "01", sep="-"), "%Y-%m-%d", tz = "UTC"), origin="1970-01-01") 

y %>% group_by(date) %>% summarise(n.citation = length(date)) %>% 
    ggplot(aes(x=date, y = n.citation)) + geom_point()][1]][1] 

enter image description here

HTH

詹姆斯

+0

你好,詹姆斯。 非常感謝,那很快。我真的很感激。 –

+0

歡迎您好運! –

+0

@FilipeRigueiro如果這個答案對你有幫助,考慮接受它(左邊的複選標記)。 – CPak

1

table

tbl <- structure(c(49L, 52L, 54L, 35L, 49L, 52L, 59L, 48L, 45L, 30L, 
54L, 37L, 43L, 43L, 44L, 42L, 40L, 25L, 47L, 0L, 42L, 0L, 42L, 
0L), .Dim = c(2L, 12L), .Dimnames = structure(list(Year = c("2016", 
"2017"), variable = c("1", "2", "3", "4", "5", "6", "7", "8", 
"9", "10", "11", "12")), .Names = c("Year", "variable")), class = c("xtabs", 
"table"), call = xtabs(formula = value ~ Year + variable, data = melted)) 

啓動您可以製作組合Year-Months

Combs <- expand.grid(attributes(tbl)$dimnames$Year, attributes(tbl)$dimnames$variable) 

# or you can use 
# Combs <- expand.grid(c("2016","2017"), 1:12)) 

library(lubridate) 
preDates <- apply(Combs, 1, function(x) paste0(x, collapse="-")) 
sortedDates <- sort(parse_date_time(preDates, "y-m")) 

newdf <- data.frame(Date = sortedDates, Value = c(tbl)) 
plot(Value ~ Date, data=newdf) 
+0

非常感謝你的傢伙(和女孩)。我設法精確地繪製頻率。感謝您的應用程序已啓動並運行。這會幫助我很多。 我現在只需要知道如何創建另一個將獲得所有25個頂級輸入並通過選擇將它們繪製在一起。但那是另一次。 –