我有5个列表需要长度相同,列表将组合成一个数据帧.其中一个可能与其他4个长度不同,所以我现在拥有的是一个if语句,它根据其他一个列表的长度检查长度然后......
1)我使用rep(NA,length)创建一个临时列表,其中length是我需要添加的额外元素来扩展列表
2)我使用concat函数c()将需要扩展的列表与NA组合在一起.
x <- as.numeric( list )
if( length( list ) < length( main ))
{
temp <- rep( NA, length( main ) - length( list ))
list <- c( list, temp )
}
Run Code Online (Sandbox Code Playgroud)
清单1 - NA NA
清单2 - 32 53 45
合并清单 - 32 53 45 NA NA
这个问题是我在创建数据帧后得到了大量的强制引入的NA.
有没有更好的方法来处理这个?我认为它与主列表是数字这一事实有关.我尝试用0代替NA,但由于某种原因失败了.我用来延长长度并不重要.我只需要它不是0以外的数字.
我有要组合成一个列表的元组列表。我已经能够使用lambda和列表理解来处理数据,而我几乎可以使用reduceByKey但不确定如何合并列表。所以格式...
[[(0, 14), (0, 24)], [(1, 19), (1, 50)], ...]
Run Code Online (Sandbox Code Playgroud)
我希望是这样...
[(0, 14), (0, 24), (1, 19), (1, 50), ...]
Run Code Online (Sandbox Code Playgroud)
使我到达需要的地方的代码...
test = test.map(lambda x: (x[1], [e * local[x[1]] for e in x[0]]))
test = test.map(lambda x: [(x[0], y) for y in x[1]])
Run Code Online (Sandbox Code Playgroud)
但是不确定从那里开始如何合并列表
我注意到其他学生喜欢使用大量数组来表示某些对象的字段.
这是因为从数组访问元素与从结构中访问字段的速度更快吗?
例如,假设我为某些对象存储了时钟周期...
1) An array of 5 ints
2) As a field in 5 structures
Run Code Online (Sandbox Code Playgroud)
然后我需要访问这些元素以找到min/max.
我喜欢将某些对象的属性保持在一起的想法,而不是将多个数组用于自然适合的字段.我只是不确定我是否正在编写一个被认为是错误的编程习惯,将其作为一个结构中的字段来处理.
我有这个循环...
char count[3] = {0};
int i = 0;
while( c != ' ' || c != '\n' || c != '\t' ) {
count[i] = c;
c = fgetc(fp);
i++;
}
Run Code Online (Sandbox Code Playgroud)
即使我看到调试该空格和换行符是正确的ASCII数字,while循环也不会退出.有人知道是什么原因引起的吗?
当我编译这样的东西时,我收到警告......
std::string something = "bacon";
sprintf("I love %s a lot", something.c_str());
Run Code Online (Sandbox Code Playgroud)
它说"警告:从字符串常量到'char*'的已弃用转换.我尝试将文本转换为...
const char *
Run Code Online (Sandbox Code Playgroud)
相反,但我得到一个不同的错误.如果有更好的选择,我不会致力于sprintf.