如果某些列在 R 数据框中是分类的,如何找到列中每个值的 sin?

如果某些列在 R 数据框中是分类列,要查找列中每个值的 sin,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,如果某些列是分类列,则使用 plyr 包中的 numcolwise 函数查找列中每个值的 sin。

示例

创建数据框

让我们创建一个数据框,如下所示 -

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-sample(1:5,25,replace=TRUE)
DV2<-sample(1:5,25,replace=TRUE)
df<-data.frame(Level,Group,DV1,DV2)
df
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   Level  Group DV1 DV2
1  low    first  1  1
2  low    second 1  5
3  medium first  5  3
4  low    first  4  1
5  low    second 2  5
6  low    first  3  3
7  high   second 3  1
8  low    second 1  1
9  high   first  2  4
10 low    second 1  3
11 high   first  2  5
12 low    first  3  2
13 medium second 5  4
14 low    second 5  4
15 low    second 3  4
16 medium first  5  5
17 high   second 4  5
18 high   second 4  1
19 low    first  4  4
20 medium second 1  3
21 high   second 4  3
22 medium first  1  3
23 medium second 2  3
24 high   second 3  3
25 medium first  4  3

如果某些列是分类列,则查找列中每个值的 sin

如果某些列在数据框 df 中是分类的,则使用 plyr 包中的 numcolwise 函数查找列中每个值的 sin -

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-sample(1:5,25,replace=TRUE)
DV2<-sample(1:5,25,replace=TRUE)
df<-data.frame(Level,Group,DV1,DV2)
library(plyr)
numcolwise(sin)(df)
输出结果
        DV1    DV2
1   0.9092974  0.1411200
2  -0.9589243 -0.7568025
3   0.9092974  0.1411200
4   0.1411200 -0.7568025
5  -0.7568025 -0.7568025
6  -0.7568025  0.8414710
7   0.8414710  0.1411200
8   0.8414710  0.8414710
9   0.1411200 -0.9589243
10 -0.7568025 -0.9589243
11 -0.9589243  0.1411200
12 -0.9589243  0.8414710
13 -0.7568025  0.9092974
14  0.8414710  0.1411200
15  0.8414710 -0.7568025
16  0.1411200  0.8414710
17  0.1411200  0.1411200
18  0.9092974  0.9092974
19  0.9092974  0.1411200
20 -0.9589243  0.8414710
21  0.9092974  0.1411200
22 -0.7568025  0.9092974
23 -0.7568025 -0.9589243
24 -0.7568025  0.9092974
25 -0.7568025  0.1411200

猜你喜欢