大家好我知道这个问题有几次被问到,但我没有得到我的问题的确切答案.
// I have array of object like this
data=[
// "sunday": 1, // << sunday is first day of week
{DayOfWeek:"Saturday", TotalCount:30},
{DayOfWeek:"Friday", TotalCount:10},
{DayOfWeek:"Monday", TotalCount:23},
{DayOfWeek:"Sunday", TotalCount:18},
{DayOfWeek:"Wednesday", TotalCount:20}
];
// I need sorted like this:
data=[
// "sunday": 1, // << sunday is first day of week
{DayOfWeek:"Sunday", TotalCount:18},
{DayOfWeek:"Monday", TotalCount:23},
{DayOfWeek:"Wednesday", TotalCount:20},
{DayOfWeek:"Friday", TotalCount:10},
{DayOfWeek:"Saturday", TotalCount:30}
];Run Code Online (Sandbox Code Playgroud)
我试过这个,但我能够得到预期的结果.它是通过satring字母表给出mi排序的数组
星期五星期六.
var sorter = {//"sunday":1,//"星期日是星期几的第一天"星期日":1,"星期一":2,"星期二":3,"星期三":4,"星期四": 5,"星期五":6,"星期六":7}
var result= data.sort(function sortByDay(a, b) {
var day1 = a.DayOfWeek.toLowerCase();
var day2 …Run Code Online (Sandbox Code Playgroud) 考虑以下两个小标题:
library(tidyverse)
a <- tibble(time = c(-1, 0), value = c(100, 200))
b <- tibble(id = rep(letters[1:2], each = 3), time = rep(1:3, 2), value = 1:6)
Run Code Online (Sandbox Code Playgroud)
因此a和b具有相同的列,并且b有一个名为 id 的附加列。我想要执行以下操作:分组b,id然后a在每个组的顶部添加小标题。所以输出应该是这样的:
# A tibble: 10 x 3
id time value
<chr> <int> <int>
1 a -1 100
2 a 0 200
3 a 1 1
4 a 2 2
5 a 3 3
6 b -1 100 …Run Code Online (Sandbox Code Playgroud) 考虑以下示例:
library(tidyverse)
set.seed(1)
forecast::forecast
x <- cumsum(rnorm(10))
y1 <- arima(x, order = c(1, 0, 0))
y2 <- x %>% arima(order = c(1, 0, 0))
length(fitted(y1))
[1] 10
length(fitted(y2))
[1] 0
Run Code Online (Sandbox Code Playgroud)
对象y1和y2几乎相同,唯一的例外是插槽call和series。所以我想这就是fitted功能开始神奇的地方。
我真的很想y1代替y2。有谁知道fitted产生相同结果的替代功能?
EDIT2:
如果forecast程序包未加载到命名空间中(例如通过forecast::forecast),则不会出现上述“错误” 。我没有意识到将程序包加载到名称空间会更改某些功能的行为。
编辑: 由于代码似乎不可复制,所以我添加了`sessionInfo()´
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=German_Austria.1252 …Run Code Online (Sandbox Code Playgroud) 加载 tidyverse 时出现以下错误。几分钟前,当我运行我的 Shinyapp 时,一切正常。我应该如何解决这个问题?
错误:loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 中“tidyverse”的包或命名空间加载失败:命名空间“rlang”0.3.0.1 已经加载,但是>= 0.3.1 是必需的
我有一个包含一列字符串的数据集:
text <- c('flight cancelled','dog cat','coach travel','car bus','cow sheep',' high bar')
transport <- 0
df <- data.frame(text,transport)
Run Code Online (Sandbox Code Playgroud)
如果字符串'text'包含多个单词中的任何一个,我想为每一行返回1,否则返回0。我的问题是我能想到的唯一方法是使用for循环。有更有效的方法吗?我的数据集非常大,因此for循环永远需要运行
words<- 'flight|flights|plane|seats|seat|travel|time|coach'
for (i in 1:6){
df$transport[i] <- ifelse(any(grepl(words,(str_split(as.character(df$text[i]), " ")))) == TRUE,1,0)
}
Run Code Online (Sandbox Code Playgroud)
返回:
text transport
1 flight cancelled 1
2 dog cat 0
3 coach travel 1
4 car bus 0
5 cow sheep 0
6 high bar 0
Run Code Online (Sandbox Code Playgroud) 例如,当我想使用“####”设置所有代码的不同部分时,但它只为 Rstudio 中的每个部分显示无标题。为什么?
我正在尝试将框的背景内容颜色从白色更改为#222d32(或任何自定义颜色),但是使用background参数时出现错误
validateColor(background)中的错误:无效的颜色:#222d32。有效颜色为:红色,黄色,水绿色,蓝色,浅蓝色,绿色,海军蓝色,蓝绿色,橄榄色,石灰,橙色,倒挂金钟,紫色,栗色,黑色。
代码如下:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(width = 6, title = "test", status = "primary", solidHeader = TRUE, background = '#222d32',
"Box content"
)
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我也曾尝试创建一个自定义包装器来捕获<div>和修改它,但是没有成功。代码如下:
library(shiny)
library(shinydashboard)
box_customBackground <- function(box_object, color = NULL){
new_color_class <- paste0('<div class="box box-solid ', color ,'">')
box_modify <- gsub('<div class="box">', new_color_class, box_object)
box_html <- HTML(box_modify)
return(box_html)
}
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box_customBackground(box_object …Run Code Online (Sandbox Code Playgroud) 从 tibble 包版本 2.0.1 开始,将 xts 对象转换为 tibble 的最佳方法是什么?考虑下面的例子
library(tibble)
library(xts)
myxts <- xts(matrix(1:4, 2, 2), order.by = seq.Date(from = as.Date("2019-02-26"), length.out = 2, by = "d"))
as_tibble(myxts)
Run Code Online (Sandbox Code Playgroud)
这给出了警告:
警告信息:
as_tibble()不鼓励调用引导程序,因为该行为将来可能会发生变化。使用enframe(name = NULL)来代替。
但是使用会enframe导致错误:
enframe(myxts, name = NULL)
Run Code Online (Sandbox Code Playgroud)
错误:
x不能超过一维。length(dim(x))必须为零或一,而不是 2。
我知道该timetk包具有将 xts 对象转换为 tibbles 的功能。但是,这个包是孤立的,所以我宁愿避免它。
感谢您的反馈。
编辑:
我会对这个问题的 tidyverse 解决方案感兴趣:当然,可以先将xts对象转换为任意对象(例如数据帧),然后再转换为 tibble。但是不应该也有直接的方法吗?
EDIT2: 从 tibble 包版本 3.0.3 开始,警告不再出现。特别是可以使用 Yakov-vc 的答案中的那一行来进行“整洁”的转换。
我下载了最新版本的 Rstudio 以便能够自定义主题。
我按照这个教程安装了熊猫主题: https://towardsdatascience.com/customize-your-rstudio-theme-914cca8b04b1
主题应该是这样的:
它有效,但有一个问题:函数没有变成粉红色:
其他一切都好,但我没有办法获得彩色功能。你能帮我找出原因吗?
抱歉,我无法在帖子中发布图片,因为我是 stackoverflow 的新手。