我有一个看起来像这样的数据框"test".没有N/A或inf.所有日子都填充了数据.
head(test)
businessdate strategy 1 Strategy 2
1 2014-01-01 0.000000000 0.0000000
2 2014-01-02 0.010058520 -0.3565398
3 2014-01-03 0.000707818 0.2622737
4 2014-01-06 -0.019879142 -0.2891257
5 2014-01-07 -0.019929352 -0.2271491
6 2014-01-08 0.027108810 -0.7827856
Run Code Online (Sandbox Code Playgroud)
当我看到那些列的类时,我看到:
> class(test[,1])
[1] "POSIXct" "POSIXt"
> class(test[,2])
[1] "numeric"
> class(test[,3])
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)
因此,我认为我可以将其转换为xts对象并使用性能分析.在这里我把它变成一个xts:
test_xts<- xts(test, order.by= test[,1])
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用性能分析包并收到错误:
charts.PerformanceSummary(test_xts,geometric= TRUE,cex.axis=1.5)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Error in na.omit.xts(x) : unsupported type
Run Code Online (Sandbox Code Playgroud)
知道发生了什么以及如何解决它?
是否可以在R闪亮中链接选择输入控件.我目前有一个下拉列表来显示目录中的文件夹.我想要第二个下拉列表来显示所选文件夹中的文件.可能吗?
这是ui.R:
shinyUI(pageWithSidebar(
sidebarPanel(
selectInput("Folder", "Folder:" , as.matrix(getFolders()),multiple = TRUE)
selectInput("FileInFolder", "File in folder:" ) # can this dropdown be linked to one above???
),
mainPanel(
))#end main
)
Run Code Online (Sandbox Code Playgroud)
这是server.R
shinyServer(function(input, output) {})
Run Code Online (Sandbox Code Playgroud)
这是运行它的代码:
library(shiny)
runApp("C:/Users/me/Desktop/R Projects/FileFolder")
Run Code Online (Sandbox Code Playgroud)
这是填充文件夹的global.R文件:
getFolders<-function()
{
folders<-list.dirs("//nas/mypath/",full.names= FALSE,recursive = FALSE)
folders
}
Run Code Online (Sandbox Code Playgroud)
这是一个有趣的##如何将他连接到getFolders以便UI进行级联?
getFilesInFolder<-function(Folder)
{
files<-list.files(paste("//nas/mypath/",Folder,sep=""))
files
}
Run Code Online (Sandbox Code Playgroud)
任何想法如何使这个工作,所以UI是级联的.那就是当你从文件夹下拉列表中选择一个文件夹时,文件下拉列表会被更新?
谢谢.
当我打印结果时,我在结果3列数据框中有一些数据,我看到:
results
TIMESTAMP SYMBOL_NAME "t.price"
1 2014-10-17 14:00:00 GOOG 400.25
Run Code Online (Sandbox Code Playgroud)
注意t.price列周围的""
当我去访问t.price列时,它返回null.
results$t.Price
NULL
Run Code Online (Sandbox Code Playgroud)
当我做
names(results)
Run Code Online (Sandbox Code Playgroud)
我知道了
[1] "TIMESTAMP" "SYMBOL_NAME" "\"t.PRICE\""
Run Code Online (Sandbox Code Playgroud)
你能告诉我发生了什么以及""出现的原因或我如何获得t.price?
ConvertToLocal下面的函数采用和的数据框,Names并Times使用一些if语句进行时区转换.如何对此进行矢量化以便我不使用循环?
谢谢.
这是代码:
ConvertToLocal<-function(data)
{
Name<-data$Name
Time<-data$Time
for(i in 1:length(Name))
{
if(Name[i]== "Bob" | Name[i] == "Al" )
{
Time[i]<-format(Time[i],tz="America/Los_Angeles")
}else if (Name[i] == "Mike" | Name[i] == "Tom" )
{
Time[i]<-format(Time[i],tz="Asia/Singapore")
}else if (Name[i] == "Fred")
{
Time[i]<- format(Time[i],tz="Europe/London")
}
}
return(Time)
}
Time<-c(as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"))
Name<-c("BOB","Al","Mike","Fred")
data<- data.frame(Name = Name, Time = Time)
ConvertToLocal(data)
Run Code Online (Sandbox Code Playgroud) 我想基于其符号拆分矢量.我有一个看起来像这样的矢量:
v <- c(1, 2,-4,-8 ,-9, 4)
Run Code Online (Sandbox Code Playgroud)
载体中有3组.阳性组(指数1和2),阴性组(指数3,4,5)和另一个阳性组(指数6).我想得到每组的FIRST索引的向量....
所以我想要的结果是包含标记1,3,6的向量
如果向量具有任意数量的任意大小的组,我希望这可以工作.
有帮助吗?
谢谢!
“mydata”数据框有 128,000 行。当我将它写入 xlsx 文件时,它只会继续运行,当我停止它时,我收到错误消息:
write.xlsx(x = mydata, file = "myfile.xlsx",
sheetName = "Sheet1", row.names = FALSE)
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
你知道这是什么意思吗?
我在R中有一个SelectInput,周围有很多空白区域.这是我的ui.r中的选择输入:
library(shiny)
shinyUI(pageWithSidebar(
headerPanel(GetHeader()),
sidebarPanel(
selectInput("date", "Select Date:", GetListOfDays(), width="120px")
#dateInput("date", "Date:", GetListOfDays() ) #value = "2012-02-29")
),
mainPanel(
uiOutput("plots")
)
Run Code Online (Sandbox Code Playgroud)
现在,当我运行报告时,我看到:

您是否看到选择输入左侧的所有空白区域?我该如何修剪或移除它?
谢谢.
我有一个名为main400,000 行的数据框,我想对其进行子集化以检索 1 行或多行。
作为一个例子,这里是一个数据框,它显示了我正在使用该函数的子集类型subset:
main <- data.frame(date = as.POSIXct(c("2015-01-01 07:44:00 GMT","2015-02-02 09:46:00 GMT")),
name= c("bob","george"),
value=c(1,522),
id= c(5,2))
subset(main, date == "2015-01-01 07:44:00" & name == "bob" & value == 1)
Run Code Online (Sandbox Code Playgroud)
这可行,但速度很慢,我认为这是因为我正在处理 400k 行数据帧。有什么想法可以让子集更快吗?
我正在从txt文件中读取文本并将内容传递给SQL.SQL文本包含双引号并导致问题.我想删除下面字符串中的"\",以便将其发送到SQL
test<- "select case when \"est\" dsaf"
test<- cat(test, sep="")
class(test)
Run Code Online (Sandbox Code Playgroud)
返回一个UNQUOTED null对象
> test<- "select case when \"est\" dsaf"
> test<- cat(test, sep="")
select case when "est" dsaf
> class(test)
[1] "NULL"
Run Code Online (Sandbox Code Playgroud)
当我将未加引号的字符串传递给SQL时,我收到此错误:
Error in odbcQuery(channel, query, rows_at_time) :
'getCharCE' must be called on a CHARSXP
Run Code Online (Sandbox Code Playgroud)
我希望它返回引导和尾随引号,然后我可以将它发送到SQl,它将工作.
[1] "select case when "est" dsaf"
Run Code Online (Sandbox Code Playgroud) 我有下面的情节有两个部分.
如何为线段添加图例?
理想情况下,最终结果将有2个图例:
这是代码
set.seed(11)
x = rnorm(100)
y = rnorm(100)
dat = data.frame(x = x, y = y)
ggplot(dat,aes(x=x,y=y)) + geom_point(aes(color="blue") ) +
geom_segment(aes(x = -2, xend = 2, y = 0, yend = 2), color="red", linetype="dashed", size=1.2) +
geom_segment(aes(x = -1, xend = 1, y = -2, yend = -1), color="red", linetype="dashed", size=1.2) +
scale_color_manual(name = "",values = c("blue"),labels="point legend")
Run Code Online (Sandbox Code Playgroud)