要查找变量在 R 数据框列中更改其符号的次数,我们可以使用带有 diff 和 sum 函数的符号函数。
例如,如果我们有一个名为 df 的数据框,其中包含一列 C 然后,我们可以使用以下命令找到 C 更改其符号的次数 -
sum(diff(sign(df$C))!=0)
以下代码段创建了一个示例数据框 -
x<-rnorm(20) df1<-data.frame(x) df1
创建以下数据框 -
x 1 0.37963948 2 -0.50232345 3 -0.33320738 4 -1.01857538 5 -1.07179123 6 0.30352864 7 0.44820978 8 0.05300423 9 0.92226747 10 2.05008469 11 -0.49103117 12 -2.30916888 13 1.00573852 14 -0.70920076 15 -0.68800862 16 1.02557137 17 -0.28477301 18 -1.22071771 19 0.18130348 20 -0.13889136
要查找 x 更改其符号的次数,请将以下代码添加到上述代码段中 -
x<-rnorm(20) df1<-data.frame(x) sum(diff(sign(df1$x))!=0)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 9
以下代码段创建了一个示例数据框 -
y<-sample(-2:2,20,replace=TRUE) df2<-data.frame(y) df2
创建以下数据框 -
y 1 -1 2 0 3 -1 4 2 5 2 6 0 7 1 8 1 9 1 10 2 11 0 12 -2 13 -1 14 -2 15 -1 16 2 17 0 18 1 19 1 20 -2
要查找 y 更改其符号的次数,请将以下代码添加到上述代码段中 -
y<-sample(-2:2,20,replace=TRUE) df2<-data.frame(y) sum(diff(sign(df2$y))!=0)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 11
以下代码段创建了一个示例数据框 -
z<-sample(-5:5,20,replace=TRUE) df3<-data.frame(z) df3
创建以下数据框 -
z 1 5 2 0 3 3 4 2 5 4 6 -2 7 -1 8 1 9 -5 10 2 11 2 12 4 13 3 14 2 15 -4 16 -1 17 3 18 1 19 1 20 4
要查找 z 更改其符号的次数,请将以下代码添加到上述代码段中 -
z<-sample(-5:5,20,replace=TRUE) df3<-data.frame(z) sum(diff(sign(df3$z))!=0)输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[1] 8