小编spa*_*500的帖子

ggplot facet_wrap 错误:错误:“scale_id”不能是“NA”

我整个早上都被困在这个问题上,但无法弄清楚。

我的数据的每一行都包含:时间戳、测量值、用户。

如果我将数据作为一个整体绘制出来,效果就很好。但是,如果我尝试使用facet_wrap按日期绘制数据,它会不断失败并出现错误:Error: scale_idmust not beNA

答案可能是完全显而易见的,但我缺乏知识和关键字来自己找到答案。

我总结了给出以下错误的最简单的示例。

非常感谢任何意见/建议。

代表:

library(tidyverse)

cols <- cols(
  timestamp = col_datetime(format = ""),
  tps = col_double(),
  user = col_character()
)

df <- read_csv("
timestamp,              tps,    user  
2021-01-06 07:05:44,    10,    CatA
2021-01-06 09:05:44,    15,    CatA
2021-01-06 10:15:44,    10,    CatA
2021-01-06 14:05:44,    15,    CatA
2021-01-06 07:03:44,    11,    CatB
2021-01-06 09:01:44,    13,    CatB
2021-01-06 10:12:44,    2,     CatB
2021-01-06 16:05:44,    6,     CatB
2021-01-07 07:05:44,    2,     CatA
2021-01-07 09:05:44,    3,     CatA
2021-01-07 10:15:44,    6,     CatA …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 facet-wrap

4
推荐指数
1
解决办法
3538
查看次数

Bash while loop stops after first iteration when subshell is called

This contrived bash script demonstrates the issue.

#!/bin/bash
while read -r node ; do
    echo checking $node for Agent;
       PID=$(ssh $node ""ps -edf | grep [j]ava | awk '{print $2}'"")
       echo $PID got to here.
done < ~/agents_master.list
Run Code Online (Sandbox Code Playgroud)

agents_master.list contains 1 server per line:

server1
server2
server3
Run Code Online (Sandbox Code Playgroud)

Which only outputs the following:

checking server1 for Agent
Authorized use only
25176 got to here
Run Code Online (Sandbox Code Playgroud)

Server 2 and 3 aren't even echoed out to screen by the line echo checking $node...

If …

bash shell while-loop subshell

2
推荐指数
1
解决办法
2755
查看次数

Perl和服务器客户端套接字

背景/背景

我有两个脚本,一个可以处理多个客户端的服务器端脚本,和一个连接到服务器的客户端脚本。将消息发送到服务器的任何客户端都会将该消息复制/回显到所有其他连接的客户端。


我被困在那里。

今天下午,我一直在寻找一个透彻的解释,并提供涵盖Perl和TCP套接字的所有示例的详尽解释。Google惊人的大量结果仍然列出了2007-2012年的文章。原来那里似乎有'Socket'模块,随着时间的推移,先添加了IO :: Socket,然后添加了IO :: Select。但是,Perldoc页面并未在一个地方涵盖或引用所有内容,也没有提供足够的交叉引用链接。我收集到,大多数Socket中的原始调用在IO :: Socket中具有等效功能。如果无法通过OO模块使用某些功能,则可以(建议?是/否?)在套接字上进行功能调用...

问题1.远端/对等方已断开连接/套接字不再建立?

我一直在尝试今天遇到的所有事情,包括IO :: Select以及对can_read,has_exception的调用,但是无论套接字是向上还是向下,这些输出都没有区别-我从netstat输出确认了非阻塞套接字被OS(MacOS)立即拆除。

问题2.是否有可读取的数据?

对于我以前的perl客户端脚本,我已经介绍了自己的使用sysread(https://perldoc.perl.org/functions/sysread.html)的方法,但是今天我注意到该recv内容在本页顶部的概述中列出。https://perldoc.perl.org/IO/Socket.html,但是下面的详细信息中没有提及recv方法...

从其他C和Java doco页面中,我收集到一个约定,当执行等同于时,返回undef,0,> 0,在某些实现中为-1 sysread。是否有官方的Perl规范可以与我联系,以描述Perl已实现的内容?sysread或recv是首先从TCP套接字读取数据的“正确”方式吗?

我没有在这里提供代码,因为我是从“最佳实践”的角度询问的,进行客户端-服务器通信的“正确”方法是什么?轮询是正确的开始吗?有某种我错过了的事件驱动方法吗?

我诚挚的歉意是否已经提供了我所要求的内容,但是google一直给我相同的旧结果页和派生博客/文章,这些内容我已经读过。

提前谢谢了。

sockets perl tcp

2
推荐指数
1
解决办法
295
查看次数

在Perl中,为什么在语句上加上“ || die”会导致它在标量上下文中求值?

最终,我发现我的代码在标量上下文而不是列表上下文中得到评估,即使我在赋值周围有()。

  • 第一个问题是为什么在表达式/赋值上加上“ || die ...”会导致它在标量上下文中求值?

  • 2,在进行列表分配时是否可以使用“ || die ....”成语/等效词?

这是演示该问题的示例代码。

#!/usr/bin/perl
use strict;
use warnings;

use Data::Dumper qw(Dumper);

my $h1 = {
    var => "1",
    bar => "1",
    baz => "1",
};

my $h2 = {
    var => "2",
    bar => "2",
    baz => "2",
};

my $ds;
$ds->{rules} = [$h1,$h2];

print "TEST1\n";
print Dumper($ds);

print "TEST2\n";
my (@processes) = @{$ds->{rules}};
print Dumper(\@processes);
print "@processes\n";

print "TEST3\n";
(@processes) = @{$ds->{rules}} || die "unable to get rules form config.. \n";
print …
Run Code Online (Sandbox Code Playgroud)

perl scalar list variable-assignment

1
推荐指数
1
解决办法
63
查看次数