我有一个带有一列p值的数据框,我想对这些p值进行选择.
> pvalues_anova
[1] 9.693919e-01 9.781728e-01 9.918415e-01 9.716883e-01 1.667183e-02
[6] 9.952762e-02 5.386854e-01 9.997699e-01 8.714044e-01 7.211856e-01
[11] 9.536330e-01 9.239667e-01 9.645590e-01 9.478572e-01 6.243775e-01
[16] 5.608563e-01 1.371190e-04 9.601970e-01 9.988648e-01 9.698365e-01
[21] 2.795891e-06 1.290176e-01 7.125751e-01 5.193604e-01 4.835312e-04
Run Code Online (Sandbox Code Playgroud)
选择方式:
anovatest<- results[ - which(results$pvalues_anova < 0.8) ,]
Run Code Online (Sandbox Code Playgroud)
如果我在R中使用它,该函数可以正常工作.但是如果我在另一个应用程序(galaxy)中运行它,那些没有e-01
例如的数字就不会4.835312e-04
被抛出.
有没有另一种方法来表示p值,0.0004835312
而不是4.835312e-04
?
我可以强制R使用常规数字而不是使用e+10
类似符号吗?我有:
1.810032e+09
# and
4
Run Code Online (Sandbox Code Playgroud)
在同一个向量内,并希望看到:
1810032000
# and
4
Run Code Online (Sandbox Code Playgroud)
我正在为一个老式程序创建输出,我必须使用编写一个文本文件cat
.到目前为止工作正常,但我根本无法使用e+10
那里的符号.
如何修改pandas中groupby操作的输出格式,为大数字生成科学记数法.我知道如何在python中进行字符串格式化,但是在这里应用它时我感到很茫然.
df1.groupby('dept')['data1'].sum()
dept
value1 1.192433e+08
value2 1.293066e+08
value3 1.077142e+08
Run Code Online (Sandbox Code Playgroud)
如果我转换为字符串,这会抑制科学记数法,但现在我只是想知道如何字符串格式和添加小数.
sum_sales_dept.astype(str)
Run Code Online (Sandbox Code Playgroud) python floating-point scientific-notation number-formatting pandas
double x = 1500;
for(int k = 0; k<10 ; k++){
double t = 0;
for(int i=0; i<12; i++){
t += x * 0.0675;
x += x * 0.0675;
}
cout<<"Bas ana: "<<x<<"\tSon faiz: "<<t<<"\tSon ana: "<<x+t<<endl;
}
Run Code Online (Sandbox Code Playgroud)
这个输出
Bas ana:3284.78 Son faiz:1784.78 Son ana:5069.55
Bas ana:7193.17 Son faiz:3908.4 Son ana:11101.6
Bas ana:15752 Son faiz:8558.8 Son ana:24310.8
Bas ana:34494.5 Son faiz:18742.5 Son ana:53237
Bas ana:75537.8 Son faiz:41043.3 Son ana:116581
Bas ana:165417 Son faiz:89878.7 Son ana:255295
Bas ana:362238 Son faiz:196821 Son …
我希望能够编写一个函数,它以科学记数法形式接收一个数字作为字符串,并将系数和指数分开作为单独的项目.我可以使用正则表达式,但传入的数字可能不会被标准化,我更愿意能够规范化然后打破这些部分.
一位同事已经使用VB6获得了解决方案的一部分,但它并不完全存在,如下面的成绩单所示.
cliVe> a = 1e6
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 10 exponent: 5
Run Code Online (Sandbox Code Playgroud)
应该是1和6
cliVe> a = 1.1e6
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.1 exponent: 6
Run Code Online (Sandbox Code Playgroud)
正确
cliVe> a = 123345.6e-7
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & o.ept(a)
coeff: 1.233456 exponent: -2
Run Code Online (Sandbox Code Playgroud)
正确
cliVe> a = -123345.6e-7
cliVe> ? "coeff: " & o.spt(a) & " exponent: " & …
Run Code Online (Sandbox Code Playgroud) 我想知道10的权力是否以及如何与控制台中科学记数法的印刷相关.我搜索过R docs并且没有发现任何相关内容,或者我真的理解.
首先,我scipen
和digits
设置
unlist(options("scipen", "digits"))
# scipen digits
# 0 7
Run Code Online (Sandbox Code Playgroud)
现在,10的功率通常打印到4次方,然后在5次方打印切换到科学记数.
10^(1:4)
# [1] 10 100 1000 10000
10^(1:5)
# [1] 1e+01 1e+02 1e+03 1e+04 1e+05
Run Code Online (Sandbox Code Playgroud)
有趣的是,这不会发生了一些其他的数字大于10.
11^(1:5)
# [1] 11 121 1331 14641 161051
Run Code Online (Sandbox Code Playgroud)
从以下情况来看,5位数似乎很重要.
100^(1:2)
# [1] 100 10000
100^(1:3)
# [1] 1e+02 1e+04 1e+06
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
为什么科学记数法在第4和第5次幂之间激活10次而不是其他数字?数字5是否显着?此外,为什么5而不是更接近22的最大数字选项的数字?
我想为特定的R脚本提供一致的输出.在这种情况下,我希望所有数字输出都是科学记数法,正好有两位小数.
例子:
0.05 --> 5.00e-02
0.05671 --> 5.67e-02
0.000000027 --> 2.70e-08
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下选项:
options(scipen = 1)
options(digits = 2)
Run Code Online (Sandbox Code Playgroud)
这给了我结果:
0.05 --> 0.05
0.05671 --> 0.057
0.000000027 --> 2.7e-08
Run Code Online (Sandbox Code Playgroud)
我尝试时获得了相同的结果:
options(scipen = 0)
options(digits = 2)
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何建议.
使用C#将科学记数法字符串(如"1.234567E-06")转换为浮点变量的正确方法是什么?
我有一个双号223.45654543434
,我需要表现出来0.223x10e+2
.
我怎么能用Java做到这一点?