小编Sla*_*ron的帖子

R - 如何将多个直方图一起绘制?

我有一个包含四列的数据框,如下所示:

Beef-Low    Beef-High   Cereal-Low  Cereal-High
90          73          107         98
76          102         95          74
90          118         97          56
64          104         80          111
86          81          98          95
51          107         74          88
72          100         74          82
90          87          67          77
95          117         89          86
78          111         58          92
Run Code Online (Sandbox Code Playgroud)

我想制作一个直方图,将所有四列显示为不同颜色的条形,所以我尝试了:

> hist(wt$Beef.Low, main="Weight Gain Across Four Diets", xlab="Weight Gain", col="coral", xlim=c(0,120), ylim=c(0,4))
> hist(wt$Beef.High, col="coral3", add=T)
> hist(wt$Cereal.Low, col="yellow", add=T)
> hist(wt$Cereal.High, col="yellow3", add=T)
Run Code Online (Sandbox Code Playgroud)

哪个产生:

直方图

我不喜欢条形的不透明性质,因为它们掩盖了重叠直方图的形状.我知道我可以使用这里找到的代码来手动策划直方图的颜色; 但这似乎是一个乏味的过程,我确信必须有一个更好的方法.

相反,我试图复制在这个问题中所做的事情

> …
Run Code Online (Sandbox Code Playgroud)

r histogram

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

Perl - 翻译变量的子程序

我写了以下子程序:

sub MakeNan {
    my $n = $_;
    if ( $n !~ /^Positive|^Negative/ ) {
            return "N/A";
    }
    else { return "$n"; }
}
Run Code Online (Sandbox Code Playgroud)

我在以下背景下一直在调用它:

open ( FILE, $file);
while (<FILE>) {
    chomp;
    my @a = split("\t", $_);
    my $hr = $a[55];
    $hr = &MakeNan($hr);
    print "$hr\n";
}
close FILE;
Run Code Online (Sandbox Code Playgroud)

不幸的是,尽管有很多值的实例应该返回"Positive ..."或"Negative ......",但它给出的每个值都返回"N/A".

我不明白我做错了什么使每个子程序返回"N/A".

perl subroutine

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

Perl - 标识散列中具有最高值的所有元素

我写了一些Perl代码,用于搜索哈希中的最高键值对,其中键是文本,值是数字:

my $o_val = 0;    # FOR TRACKING HIGHEST VALUE ENCOUNTERED IN THE LOOP
my $o_key;        # FOR TRACKING CORRESPONDING KEY TO THE HIGHEST VALUE
while ( my ($key, $val) = each(%NG) ) {
        if ( $val > $o_val ) {
                $o_val = $val;
                $o_key = $key;
        }
}
print "$okey\n";
Run Code Online (Sandbox Code Playgroud)

问题在于它没有考虑到最高价值并列的可能性.如果我的测量变量可能随着循环的每次迭代而发生变化,那么如何捕获所有与最高值相关的键值对?

我有一个想法,我可以编写另一个while循环来运行相同的哈希值,然后将$ o_val建立为最高值,然后将每个键配对到$ o_val推入另一个数组,例如:

my @highest;     # ARRAY OF HIGHEST-VALUE KEYS
while ( my ($key, $val) = each(%NG) ) {
    if ( $val == $o_val ) { push(@highest, …
Run Code Online (Sandbox Code Playgroud)

arrays perl hash

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

Pandas - 根据NaN值的组合删除行

我有一个看起来像这样的数据框:

NUM   A      B        C      D        E        F
p1    NaN    -1.183   NaN    NaN      NaN      1.829711
p5    NaN    NaN      NaN    NaN      1.267   -1.552721
p9    1.138  NaN      NaN    -1.179   NaN      1.227306
Run Code Online (Sandbox Code Playgroud)

在以下列中始终存在非NaN值:列F和至少一个其他列AE.

我想创建一个子表,其中只包含那些在列中包含某些非NaN值组合的行.存在许多这些期望的组合,包括双峰和三重峰.以下是我想要提取的三种组合的示例:

  1. 在A列和B列中包含非NaN值的行
  2. 在C&D中包含非NaN值的行
  3. 在A&B和C中包含非NaN值的行

我已经从这个问题中了解了np.isfinite和pd.notnull命令,但我不知道如何将它们应用于列的组合.

此外,一旦我有一个用于删除与我所需组合之一不匹配的行的命令列表,我不知道如果它们与任何所需组合不匹配,我不知道如何告诉Pandas仅删除行.

python combinations dataframe pandas

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

标签 统计

perl ×2

arrays ×1

combinations ×1

dataframe ×1

hash ×1

histogram ×1

pandas ×1

python ×1

r ×1

subroutine ×1