小编Mot*_*sim的帖子

ddply错误的含义:'names'属性[9]的长度必须与vector [1]的长度相同

我正在通过黑客机器学习,我被困在这一行:

from.weight <- ddply(priority.train, .(From.EMail), summarise, Freq = length(Subject))
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

Error in attributes(out) <- attributes(col) : 
  'names' attribute [9] must be the same length as the vector [1]
Run Code Online (Sandbox Code Playgroud)

这是一个追溯():

> traceback()
11: FUN(1:5[[1L]], ...)
10: lapply(seq_len(n), extract_col_rows, df = x, i = i)
9: extract_rows(x$data, x$index[[i]])
8: `[[.indexed_df`(pieces, i)
7: pieces[[i]]
6: function (i) 
   {
       piece <- pieces[[i]]
       if (.inform) {
           res <- try(.fun(piece, ...))
           if (inherits(res, "try-error")) {
               piece <- paste(capture.output(print(piece)), collapse = "\n")
               stop("with piece ", i, ": …
Run Code Online (Sandbox Code Playgroud)

r plyr

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

如何在 iOS 15 及更早版本上支持编程视图关闭

在 iOS 14 及更早版本上,我们导入presentationMode环境变量:

@Environment(\.presentationMode) var presentationMode
Run Code Online (Sandbox Code Playgroud)

然后打电话self.presentationMode.wrappedValue.dismiss()驳回视图。

这在 iOS 15 上已被弃用,并dismiss引入了一个新的环境变量 :

@Environment(\.dismiss) var dismiss
Run Code Online (Sandbox Code Playgroud)

我们可以直接调用 usingdismiss()来实现相同的效果。

我知道我们可以执行以下操作来调用适当的解雇函数并支持所有版本:

if #available(iOS 15, *) {
    self.dismiss()
} else {
    self.presentationMode.wrappedValue.dismiss()
}
Run Code Online (Sandbox Code Playgroud)

但是如何导入/定义正确的环境变量呢?因为尝试这不起作用:

if #available(iOS 15, *) {
    @Environment(\.dismiss) var dismiss
} else {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
}
Run Code Online (Sandbox Code Playgroud)

编辑:

显然,presentationMode在 iOS 15 Beta 4 上,使用关闭导航堆栈中的视图仍然有效。除非 NavigationView 中有 TabView:

struct ContentView: View {
    var body: some View {
        NavigationView {
            TabView { …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

15
推荐指数
2
解决办法
4303
查看次数

双引号的NLTK字令牌化行为令人困惑

import nltk
>>> nltk.__version__
'3.0.4'
>>> nltk.word_tokenize('"')
['``']
>>> nltk.word_tokenize('""')
['``', '``']
>>> nltk.word_tokenize('"A"')
['``', 'A', "''"]
Run Code Online (Sandbox Code Playgroud)

看看它如何变成"双重``和''

这里发生了什么事?为什么要改变这个角色?有修复吗?因为我需要稍后在字符串中搜索每个标记.

Python 2.7.6如果它有任何区别.

python nltk

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

C#:将负整数强制转换为字节的结果

我是在查看项目的源代码,我注意到以下语句(keyByte和codedByte都是类型byte):

return (byte)(keyByte - codedByte);
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试理解在keyByte小于codedByte的情况下结果会是什么,这会导致负整数.

经过一些实验来了解投射负整数的结果,其值在[-255:-1]范围内,我得到以下结果:

byte result = (byte) (-6);  // result = 250
byte result = (byte) (-50); // result = 206
byte result = (byte) (-17); // result = 239
byte result = (byte) (-20); // result = 236
Run Code Online (Sandbox Code Playgroud)

所以,只要-256 < a < 0我能够通过以下方式确定结果:

result = 256 + a;
Run Code Online (Sandbox Code Playgroud)

我的问题是:我是否应该始终期待这种情况?

c#

10
推荐指数
2
解决办法
7940
查看次数

在字节数组上执行正确的循环位移的最快方法是什么

如果我有阵列:

{01101111,11110000,00001111} // {111, 240, 15}
Run Code Online (Sandbox Code Playgroud)

1位移位的结果是:

{10110111,11111000,00000111} // {183, 248, 7}
Run Code Online (Sandbox Code Playgroud)

阵列大小不固定,移位将从1到7(包括1和7).目前我有以下代码(工作正常):

private static void shiftBitsRight(byte[] bytes, final int rightShifts) {
   assert rightShifts >= 1 && rightShifts <= 7;

   final int leftShifts = 8 - rightShifts;

   byte previousByte = bytes[0]; // keep the byte before modification
   bytes[0] = (byte) (((bytes[0] & 0xff) >> rightShifts) | ((bytes[bytes.length - 1] & 0xff) << leftShifts));
   for (int i = 1; i < bytes.length; i++) {
      byte tmp = bytes[i];
      bytes[i] = (byte) …
Run Code Online (Sandbox Code Playgroud)

java optimization performance bit-manipulation

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

如何在没有连接的情况下同步管理器/工作线程pthreads?

我熟悉多线程,我已经成功地用Java和Objective-C开发了许多多线程程序.但是在没有使用主线程的连接的情况下,我无法使用pthreads在C中实现以下内容:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

#define NUM_OF_THREADS 2

struct thread_data {
    int start;
    int end;
    int *arr;
};

void print(int *ints, int n);
void *processArray(void *args);

int main(int argc, const char * argv[])
{
    int numOfInts = 10;
    int *ints = malloc(numOfInts * sizeof(int));
    for (int i = 0; i < numOfInts; i++) {
        ints[i] = i;
    }
    print(ints, numOfInts); // prints [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    pthread_t threads[NUM_OF_THREADS];
    struct thread_data thread_data[NUM_OF_THREADS];

    // …
Run Code Online (Sandbox Code Playgroud)

c posix pthreads

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

为什么反转循环使它变慢?

我有以下代码执行数组中位的循环移位:

private static void method1(byte[] bytes) {
    byte previousByte = bytes[0];
    bytes[0] = (byte) (((bytes[0] & 0xff) >> 1) | ((bytes[bytes.length - 1] & 0xff) << 7));
    for (int i = 1; i < bytes.length; i++) {
       byte tmp = bytes[i];
       bytes[i] = (byte) (((bytes[i] & 0xff) >> 1) | ((previousByte & 0xff) << 7));
       previousByte = tmp;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我认为这样做更容易,更易读:

private static void method2(byte[] bytes) {
    byte lastByte = bytes[bytes.length-1];
    for (int i = bytes.length-1; i > 0; i--) …
Run Code Online (Sandbox Code Playgroud)

java optimization performance

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

如何使用多项式代替位来提高性能?

我有一个128位字符串,我的主管要求我将这128位表示为多项式.这是他正在写的论文的扫描:

将位转换为多项式

他的想法是,由于我们从这些位中消除了0,我们将能够比我们处理所有位更快地执行下一个操作(大多数是位/多项式之间的XOR).

我理解要求是什么,我可以在纸上和应用程序中完成.但我的方式不会实现他的目标,即提高绩效.他实际上说有些图书馆已经这样做了,但遗憾的是我找不到任何图书馆.我发现的唯一一个是多项式类来评估多项式,这不是我想要的.

所以你们知道如何实现这一点来提高性能?任何代码/片段/文章非常感谢.

该应用程序是用Java编写的,如果这有任何区别的话.

谢谢,

莫塔

更新:

我的主管说这个C库将完成任务.我无法弄清楚它是如何工作的以及如何做到这一点.

java performance polynomial-math

6
推荐指数
2
解决办法
250
查看次数

有没有办法重用pthreads?

我有一个被调用数百万次的函数,这个函数完成的工作是多线程的。这是函数:

void functionCalledSoManyTimes()
{
  for (int i = 0; i < NUM_OF_THREADS; i++)
  {
    pthread_create(&threads[i], &attr, thread_work_function, (void *)&thread_data[i]);
  }
  // wait
}
Run Code Online (Sandbox Code Playgroud)

每次调用函数时,我都会创建线程,并为每个线程提供其数据结构(在算法开始时设置一次)以在thread_work_function. 在thread_work_function简单地处理一个系列阵列,并且所述thread_data结构包含指向那些阵列和索引,每个线程负责。

尽管以这种方式对算法进行多线程处理确实将性能提高了 20% 以上,但我的分析表明对 pthread_create 的重复调用导致了显着的开销。

我的问题是:有没有办法在pthread_create每次调用函数时不调用就实现我的目标?

问题解决了。

谢谢你们,我真的很感谢你们的帮助!我在这里使用您的提示编写了一个解决方案。

c multithreading posix pthreads

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

Django admin:按可为空的日期排序,末尾为空值

我有一个带有 DateTimeField 的模型,我想用它来对管理中的表进行排序。ordering = ('-completed',)在工作中使用admin.py,但那些有null值的在排序中排在第一位。有没有办法让它们出现在最后?

所以现在我有这样的事情:

Column A     Completed       Column C
x            -               y
x            -               y
x            Today's date    y
x            Yesterday's     y
Run Code Online (Sandbox Code Playgroud)

有没有办法让它像这样?

Column A     Completed       Column C
x            Today's date    y
x            Yesterday's.    y
x            -               y
x            -               y
Run Code Online (Sandbox Code Playgroud)

django

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