标签: numeric

R:使用 mutate 将所有列转换为数字,同时保留字符列

我有一个存储字符串的数据框,其中一些字符串可以解释为数字,但是,它们仍然是类字符。我想自动将所有可以解释为数字的列转换为数字。我可以使用 mutate_if 轻松完成此操作,但是它会为每个剩余的字符列生成 NA。我想保留这些栏中的原始信息。

\n
# Reproducible example\ndf <- data.frame(Col1 = c("647", "237", "863", "236"),\n           Col2 = c("125", "623", "854", "234"),\n           Col3 = c("ABC", "BCA", "DFL", "KFD"),\n           Col4 = c("PWD", "CDL", "QOW", "DKC"))\n\ndf %>% mutate_if(is.character, as.numeric)\n\n  Col1 Col2 Col3 Col4\n1  647  125   NA   NA\n2  237  623   NA   NA\n3  863  854   NA   NA\n4  236  234   NA   NA\nWarning messages:\n1: Problem while computing `..1 = across(, ~as.numeric(.))`.\n\xe2\x84\xb9 NAs introduced by coercion \n2: Problem while computing `..1 = across(, ~as.numeric(.))`.\n\xe2\x84\xb9 NAs introduced by coercion …
Run Code Online (Sandbox Code Playgroud)

r numeric dplyr

4
推荐指数
1
解决办法
2091
查看次数

根据 C 标准,负整数文字是解释为单个文字,还是运算符和文字?

C 标准/编译器如何将负整数解释为单个文字,或解释为(一元)运算符和数字文字?

例如,被-16解释为 a-16-(16)?

c parsing compilation numeric literals

4
推荐指数
2
解决办法
204
查看次数

比较数字和整数值有时给出 TRUE,有时给出 FALSE

我用来比较两个列表,一个列表包含数值%in%向量,另一个列表包含相应的整数值。结果真的很奇怪;有时有时,我不明白为什么。TRUEFALSE

例如下面的代码给出TRUE

list(c(1, 1)) %in% list(c(1L, 1L))
Run Code Online (Sandbox Code Playgroud)

但是,如果我们将向量中的第二个数字更改为 2 和 2L,我们会得到FALSE

list(c(1, 2)) %in% list(c(1L, 2L))
Run Code Online (Sandbox Code Playgroud)

将第二个数字更改为 3 或 4TRUE再次给出。

list(c(1, 3)) %in% list(c(1L, 3L))
list(c(1, 4)) %in% list(c(1L, 4L))
Run Code Online (Sandbox Code Playgroud)

再次使用其他一些值会产生结果FALSE,但我看不到任何模式。例如,使用 8 和 9 结果为FALSE

list(c(8, 9)) %in% list(c(8L, 9L))
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?这真的令人困惑,我完全不明白为什么会发生这种情况。

integer r numeric

4
推荐指数
1
解决办法
99
查看次数

PHP - 必须使用is_numeric(),还是可以使用比较符号来处理所有正数字情况?

似乎简单的比较符号>,>=及其反向组件可以评估某个变量是否为数字.例$whatami='beast'; ($whatami<0)?echo 'NaN':echo 'is numeric!';

是否存在正值(数量> 0)is_numeric()需要使用的情况?似乎使用上面的比较符号将确定变量是否为数字.

php math evaluation numeric isnumeric

3
推荐指数
1
解决办法
1827
查看次数

数字赋值应该抛出错误

我正在用Java中的数字转换和强制转换进行一些测试,我发现这种奇怪的行为(对我而言)

class Test {
public static void main(String[] args) {
    //int y = 100000000000000; //does not compile
    int x = 100000 * 1000000000; //compile (why?)
    System.out.println(x); //x is 276447232
   }
}
Run Code Online (Sandbox Code Playgroud)

基本上x和y应该是相同的数字:为什么编译?

java numeric variable-assignment

3
推荐指数
1
解决办法
222
查看次数

制作矩阵数字和名称顺序

我有以下数据:

yvar <- c(1:150)
replication <- c( rep(c(rep(1, 10), rep(2,10), rep(3,10)),5))
genotypes <- c(rep(paste("G", 1:10, sep= ""), 15))
environments <- c(rep(paste("E",5:1, sep = ""), each = 30))
mydf1 <- data.frame (yvar, replication, genotypes, environments)
mydf1$replication <- as.factor(mydf1$replication)
Run Code Online (Sandbox Code Playgroud)

我想总结一下数据:

mydf = data.frame(aggregate (yvar ~ genotypes + environments, data = mydf1, mean))
Run Code Online (Sandbox Code Playgroud)

现在创建一个矩阵,希望是数字,matm不是!

matm = as.matrix(aggregate(yvar ~ genotypes, mydf, 'c'))
colnames(matm) <- c("genotypes", levels(mydf$environments))
      genotypes E1    E2    E3    E4    E5   
 [1,] "G1"      "131" "101" " 71" " 41" " 11"
 [2,] "G10" …
Run Code Online (Sandbox Code Playgroud)

r numeric matrix dataframe

3
推荐指数
1
解决办法
1946
查看次数

如何在自动快捷键中将字符串转换为数字?

FormatTime, CurrentMinute , , m将当前分钟分配给variable %CurrentMinute%,其值是一个字符串,而不是数字。我想对价值进行一些计算%CurrentMinute%,那么如何将其转换为数字呢?

感谢您的任何帮助!

string format autohotkey numeric converter

3
推荐指数
1
解决办法
6552
查看次数

为数字提供安全的gcc优化选项

哪些gcc编译器选项可以安全地用于数值编程?

打开gcc优化的简单方法是添加-0#到编译器选项.很有诱惑力-O3.但是,我知道-O3包括优化,这是非保存的,因为一旦包含此选项,数值计算的结果可能会有所不同.如果算法稳定,结果的微小变化可能是微不足道的.另一方面,精度可能是某些数学运算的问题,因此数学优化会产生重大影响.

我发现在调试过程中考虑编译器相关问题是不方便的.即我不想知道代码中的微小变化是否会导致强烈不同的行为,因为编译器在内部更改了它的优化.

如果我想在我的代码中使用确定性(因此可控制)行为,哪些选项可以安全添加?这几乎是安全的,也就是说,哪些选项与性能优势相比只会产生微小的不确定性?

我想到了这样的选项:-finline -finline-limit=2000即使它们很长,也会内联函数.

c compiler-construction optimization gcc numeric

3
推荐指数
1
解决办法
747
查看次数

将数字字符串扩展为单个数字

我正在开发一个WinForms应用程序,它接受数字字符串作为输入.如果我的用户输入了连续的数字范围,他/她可以使用如下的速记符号表示该范围:

12[3-5]5550[000-100]
Run Code Online (Sandbox Code Playgroud)

使用该示例,我需要将该字符串扩展为它包含的整个数字范围,如下所示:

1235550000
1235550001
1235550002
..........
1235550100

1245550000
1245550001
1245550002
..........
1245550100

1255550000
1255550001
1255550002
..........
1255550100
Run Code Online (Sandbox Code Playgroud)

除0-9外,字符串仅包含[, - 和],它们是用于表示范围的字符.作为将示例字符串扩展为单个数字的过程的一部分,我也想验证字符串.例如,必须有相同数量的[和]字符.在括号内,范围中的第一个数字必须小于范围中的第二个数字.这些类型的东西.

是否存在执行此类字符串操作的现有模式?

c# string expand numeric

3
推荐指数
1
解决办法
344
查看次数

如何向上舍入到指定数字的最接近倍数?

我已经查看了很多关于舍入到最接近的数字的倍数的问题,但是我无法理解它们的方法以便将它们用于四舍五入或者使用其他语言的语言特定方法.

如果以上内容没有多大意义,这里有一个更详细的解释:

输入示例:

int num1 = 67;
int num2 = 43;
Run Code Online (Sandbox Code Playgroud)

预期成绩:

>>round(num1) = 90
>>round(num2) = 45
Run Code Online (Sandbox Code Playgroud)

java algorithm numeric

3
推荐指数
2
解决办法
742
查看次数