我使用此代码。但这非常耗时。我怎么能加快这一点。可以帮忙吗?
class Zadanie
{
protected:
string tresc;
};
class Zadanie4Odp : private Zadanie
{
private:
string a,b,c,d;
string poprawna;
public:
Zadanie4Odp(string tresc1,string a1,string b1,string c1,string d1,string pop)
{
tresc=tresc1;
a=a1;
b=b1;
c=c1;
d=d1;
poprawna=pop;
}
};
class ZadanieNumer : private Zadanie
{
private:
int poprawna;
public:
ZadanieNumer()
{
}
ZadanieNumer(string tresc1,int pop)
{
tresc=tresc1;
poprawna=pop;
}
};
class ZadanieTekst : private Zadanie
{
private:
string poprawna;
public:
ZadanieTekst(string tresc1,string pop)
{
tresc=tresc1;
poprawna=pop;
}
};
class Baza
{
//here must be array of objects
};
答案 0 :(得分:1)
两点:
rowMeans(a)部分在sapply(1:ncol(a))内的每次迭代中重新计算,并且也是sapply(1:nrow(a))。 colMeans(a)部分也是如此。对于大型对象,它将花费太长时间并且对于维度n和m具有O(m * n ^ 2)时间(因此执行时间随着方形对象的维度的立方体而增加)。您可以在"公式"的开头计算行和列平均值,而不是在封闭内部填充everthing。函数并将这些值分配给对象。一种更简洁的方法是分别定义最内层函数并对其进行函数调用(由于调用可能会有一些惩罚,但使代码更加优雅和可跟踪)
除了行和列的两个蓝色外,您可以使用外部,这是ply' s的二维版本。但是要使其工作,必须对内部函数进行矢量化。您可以通过y< - Vectorize(x)