我在R中有这样一个列表:
> print(head(mylist,2))
[[1]]
[1] 234984 10354 41175 932711 426928
[[2]]
[1] 1693237 13462
Run Code Online (Sandbox Code Playgroud)
列表的每个元素都有不同数量的元素.
我想将此列表打印到这样的文本文件:
mylist.txt
234984 10354 41175 932711 426928
1693237 13462
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用sink(),但它打印元素[[x]],[y]的名称,我想避免它.此外,由于列表的每个元素中的元素数量不同,因此无法使用write()或write.table().
我有这样一个文件:
mylist.txt
234984 10354 41175 932711 426928
1693237 13462
Run Code Online (Sandbox Code Playgroud)
该文件的每一行都有不同数量的元素,每行至少有1个元素.我想把它读成这样的列表:
> print(head(mylist,2))
[[1]]
[1] 234984 10354 41175 932711 426928
[[2]]
[1] 1693237 13462
Run Code Online (Sandbox Code Playgroud) 这段代码,test.py:
if 1:
print "foo"
print "bar"
Run Code Online (Sandbox Code Playgroud)
可以使用execfile("test.py")或成功执行python test.py,但是当一个人尝试将其复制粘贴到python解释器中时:
File "<stdin>", line 3
print "bar"
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
为什么会这样?可以通过配置解释器以便成功读取复制粘贴的文本吗?我想这可能会影响口译员的输入,但这对我来说没问题.
如何为一个像这样的嵌套私有类重载一个operator <<?
class outer {
private:
class nested {
friend ostream& operator<<(ostream& os, const nested& a);
};
// ...
};
Run Code Online (Sandbox Code Playgroud)
在外部类编译器之外尝试抱怨隐私时:
error: ‘class outer::nested’ is private
Run Code Online (Sandbox Code Playgroud) 想象一下,我有一个DataFrame只包含实际值的列.
>> df
col1 col2 col3
0 0.907609 82 4.207991
1 3.743659 1523 6.488842
2 2.358696 324 5.092592
3 0.006793 0 0.000000
4 19.319746 11969 7.405685
Run Code Online (Sandbox Code Playgroud)
我想按所选列(例如,col1)的四分位数(或我指定的任何其他百分位数)对其进行分组,以对这些组执行某些操作.理想情况下,我想做的事情如下:
df.groupy( quartiles_of_col1 ).mean() # not working, how to code quartiles_of_col1?
Run Code Online (Sandbox Code Playgroud)
输出应该给出对应于四分位数的四个组的每个列的平均值col1.这可能与groupby命令有关吗?实现它的最简单方法是什么?
我有一个像data.frame这样的类型的对象,但更大:
> head(mydf)
id1 id2 n
1 0 1032142 3
2 0 1072163 1
3 0 119323 2
Run Code Online (Sandbox Code Playgroud)
我需要打印到文件列a1和a1,他们每个人的n时间.这样我就可以获得这样的文件:
0 1032142
0 1032142
0 1032142
0 1072163
0 119323
0 119323
Run Code Online (Sandbox Code Playgroud)
我尝试了以下解决方案,但他们使用显式for循环并且速度非常慢(用我的数据完成它们需要几天时间):
for (j in 1:(nrow(mydf))) for (i in 1:(mydf[j,"n"])) write.table( mydf[j,c("id1","id2")], file="trials", append=T, row.names= F, col.names=F )
Run Code Online (Sandbox Code Playgroud)
另一个尝试使用乘法行构建一个新的data.frame,但运行速度更慢.
towrite=data.frame(); for (j in 1:(nrow(mydf))) for (i in 1:(mydf[j,"n"])) towrite=rbind(towrite,mydf[j,c("id1","id2")])
Run Code Online (Sandbox Code Playgroud)
在R下解决这个问题的最简单,最快捷的方法是什么?
换句话说,如果我填充两个unordered_map或者unordered_set具有完全相同内容和相同散列函数的对象,那么迭代它们会给出相同的键/值对序列吗?
如果是这样,那么它的条件是什么(例如相同的散列函数,相同的键,不一定是相同的值).
我有一个整数两个向量,说v1=c(1,2)和v2=c(3,4),我想结合,并获得这个结果(作为data.frame,或矩阵):
> combine(v1,v2) <--- doesn't exist
1 3
1 4
2 3
2 4
Run Code Online (Sandbox Code Playgroud)
这是一个基本案例.更复杂一点 - 将每一行与每一行结合起来?例如,假设我们有两个data.frames或矩阵d1和d2,我们想要将它们组合起来以获得以下结果:
d1
1 13
2 11
d2
3 12
4 10
> combine(d1,d2) <--- doesn't exist
1 13 3 12
1 13 4 10
2 11 3 12
2 11 4 10
Run Code Online (Sandbox Code Playgroud)
我怎么能实现这个目标?
在这个问题中,已经展示了如何在bash中使用整齐的布尔变量.有没有办法用这些变量执行逻辑运算?例如,如何得到这个:
var1=true
var2=false
# ...do something interesting...
if ! $var1 -a $var2; then <--- doesn't work correctly
echo "do sth"
fi
Run Code Online (Sandbox Code Playgroud) 有没有办法在python中实现这样的东西?
another_function( function(x) {return 2*x} )
Run Code Online (Sandbox Code Playgroud)