Пытались создать ваши данные, используя следующее:
df <- data.frame(col1 = c(1,1,2,2,1,1,2,2),
col2 = c(34,34,342,23,34,34,342,23),
col3 = c(3,4,3,4,3,4,3,4))
И, если вы хотите создать подмножество только на основе одного столбца, вы можете использовать @ kyle-marsh solution
> df[df$col1 == 1, ]
col1 col2 col3
1 1 34 3
2 1 34 4
5 1 34 3
6 1 34 4
[118 ] И, если вам нужны только отдельные столбцы, возможно, вы можете попробовать это
> unique(df[df$col1 == 1, ])
col1 col2 col3
1 1 34 3
2 1 34 4
И, если вам нужно агрегировать данные на основе col1
, вы можете попробовать следующее. Поскольку col1
является числовым,
> aggregate(df[,-1], by = list(col1 = df$col1), sum)
col1 col2 col3
1 1 136 14
2 2 730 14
Вам не нужен Активатор для вызова метода. Вы используете MethodInfo. Вызовите непосредственно. Первый параметр можно оставить пустым.
GvS корректен - вот пример использования:
using System;
using System.Reflection;
class Program
{
static void Main()
{
Type type = Type.GetType("Foo");
MethodInfo info = type.GetMethod("Bar");
Console.WriteLine(info.Invoke(null, null));
}
}
static class Foo
{
public static String Bar() { return "Bar"; }
}
Не случается так, что статический класс не имеет никакого экземпляра, это просто, это не имеет никаких общедоступных конструкторов. Активатор использует отражение для создания экземпляров, и когда Вы используете отражение, можно назвать что-либо, что Вы хотите, даже частные конструкторы
Если то, что Вы подразумеваете под высказыванием "ресурсов", является на самом деле ресурсами, встроенными в блок, можно всегда извлекать их вручную (см. Assembly.GetManifestResourceStream()
), не используя статические классы (будет больше проблем с теми начиная с единственного способа, которым можно использовать их, просто с отражением).
Spring.NET имеет хорошую абстракцию IResource.
И не, Activator
не может использоваться для "создавания" статических классов.