इसलिए मैं आर में ggplot का उपयोग करके इस स्कैटरप्लॉट को बना रहा हूं। RStudio में एक नियमित r स्क्रिप्ट में नीचे सूचीबद्ध इस कोड का उपयोग करके मैं उस प्लॉट का निर्माण करने में सक्षम हूं जिसे मैं बिना किसी त्रुटि के चाहता हूं।
समस्या यह है कि जब मैं पीडीएफ से बुनाई के लिए रमार्कडाउन का उपयोग करके एक ही कोड का उपयोग करने की कोशिश कर रहा हूं। मुझे यह कहते हुए एक त्रुटि मिलती है: check_breaks_labels (ब्रेक, लेबल) में त्रुटि: ऑब्जेक्ट percent
नहीं मिला।
कोई सुझाव? आशा है कि प्रतिलिपि प्रस्तुत करने योग्य उदाहरण ठीक है।
library(tidyquant)
library(timetk)
library(ggplot2)
SPY <- tq_get("SPY", from = '2010-01-01',
to = "2020-04-04",
get = "stock.prices")
FXI <- tq_get("FXI", from = '2010-01-01',
to = "2020-04-04",
get = "stock.prices")
QQQ <- tq_get("QQQ", from = '2010-01-01',
to = "2020-04-04",
get = "stock.prices")
SPY_monthly_returns <- SPY %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "SPY_ret")
FXI_monthly_returns <- FXI %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "FXI_ret")
QQQ_monthly_returns <- QQQ %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "QQQ_ret")
SPY_monthly_mean_ret <- SPY_monthly_returns %>%
select(SPY_ret) %>%
.[[1]] %>%
mean(na.rm = TRUE)
FXI_monthly_mean_ret <- FXI_monthly_returns %>%
select(FXI_ret) %>%
.[[1]] %>%
mean(na.rm = TRUE)
QQQ_monthly_mean_ret <- QQQ_monthly_returns %>%
select(QQQ_ret) %>%
.[[1]] %>%
mean(na.rm = TRUE)
SPY_monthly_sd_ret <- SPY_monthly_returns %>%
select(SPY_ret) %>%
.[[1]] %>%
sd()
FXI_monthly_sd_ret <- FXI_monthly_returns %>%
select(FXI_ret) %>%
.[[1]] %>%
sd()
QQQ_monthly_sd_ret <- QQQ_monthly_returns %>%
select(QQQ_ret) %>%
.[[1]] %>%
sd()
d <- data.frame(meanret = c(SPY_monthly_mean_ret,FXI_monthly_mean_ret,QQQ_monthly_mean_ret), sd = c(SPY_monthly_sd_ret,FXI_monthly_sd_ret,QQQ_monthly_sd_ret), names = c("SPY","FXI","QQQ"))
ggplot(d, aes(sd,meanret, color= ticker)) +
geom_point(size=1) + geom_text(aes(label=names)) +
ggtitle("Monthly Risk-Return Plot") + xlab("Volatility") +
ylab("Mean Return") + theme_bw() +
scale_y_continuous(label = percent, limits = c(0, 0.02)) +
scale_x_continuous(label = percent, limits = c(0, 0.08))
2 जवाब
समाधान require(scales)
था और उसके बाद "टिकर" निर्दिष्ट करें क्योंकि मैंने अपने कोड खंड में ऐसा नहीं किया था।
दोनों को वास्तव में जल्दी से सुझाव दिया गया था जो मेरे लिए बहुत मददगार है जो मेरी स्नातक थीसिस लिखते समय सीख रहा है। बहुत - बहुत धन्यवाद!
require()
के बजाय library()
का प्रयोग करें
आप प्रतिशत बताना भूल गए।
ggplot(d, aes(sd,meanret, color= ticker)) +
geom_point(size=1) + geom_text(aes(label=names)) +
ggtitle("Monthly Risk-Return Plot") + xlab("Volatility") +
ylab("Mean Return") + theme_bw() +
scale_y_continuous(label = "percent", limits = c(0, 0.02)) +
scale_x_continuous(label = "percent", limits = c(0, 0.08))
उद्धरणों का उपयोग नहीं करते समय, ggplot percent
नाम की एक वस्तु की तलाश में है जिसमें एक स्ट्रिंग होनी चाहिए। इस वजह से आप भी कर सकते हैं
p <- ggplot(...)
mylabel = "This is my label"
p + scale_x_continuous(label = "mylabel", limits = c(0, 0.08))
require(scales)
?