如何查找变量在 R 数据框列中更改其符号的次数?
要查找变量在 R 数据框列中更改其符号的次数,我们可以使用带有 diff 和 sum 函数的符号函数。
例如,如果我们有一个名为 df 的数据框,其中包含一列 C 然后,我们可以使用以下命令找到 C 更改其符号的次数 -
sum(diff(sign(df$C))!=0)
示例 1
以下代码段创建了一个示例数据框 -
x<-rnorm(20)df1<-data.frame(x)df1
创建以下数据框 -
x1 0.379639482 -0.502323453 -0.333207384 -1.018575385 -1.071791236 0.303528647 0.448209788 0.053004239 0.9222674710 2.0500846911 -0.4910311712 -2.3091688813 1.0057385214 -0.7092007615 -0.6880086216 1.0255713717 -0.2847730118 -1.2207177119 0.1813034820 -0.13889136
要查找 x 更改其符号的次数,请将以下代码添加到上述代码段中 -
x<-rnorm(20) df1<-data.frame(x) sum(diff(sign(df1$x))!=0)
输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 9
示例 2
以下代码段创建了一个示例数据框 -
y<-sample(-2:2,20,replace=TRUE)df2<-data.frame(y) df2
创建以下数据框 -
y1 -12 03 -14 25 26 07 18 19 110 211 012 -213 -114 -215 -116 217 018 119 120 -2
要查找 y 更改其符号的次数,请将以下代码添加到上述代码段中 -
y<-sample(-2:2,20,replace=TRUE) df2<-data.frame(y) sum(diff(sign(df2$y))!=0)
输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 11
示例 3
以下代码段创建了一个示例数据框 -
z<-sample(-5:5,20,replace=TRUE)df3<-data.frame(z) df3
创建以下数据框 -
z1 52 03 34 25 46 -27 -18 19 -510 211 212 413 314 215 -416 -117 318 119 120 4
要查找 z 更改其符号的次数,请将以下代码添加到上述代码段中 -
z<-sample(-5:5,20,replace=TRUE) df3<-data.frame(z) sum(diff(sign(df3$z))!=0)
输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 8