如果R数据框中某些列是分类变量,如何找到每列值的正弦值?


如果R数据框中某些列是分类变量,要查找每列值的正弦值,我们可以按照以下步骤操作:

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

  • 然后,使用plyr包中的numcolwise函数来查找数据框中每列值的正弦值,即使某些列是分类变量。

示例

创建数据框

让我们创建一个如下所示的数据框:

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

输出

执行上述脚本后,将生成以下输出(此输出由于随机化而可能因您的系统而异):

   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

如果某些列是分类变量,则查找每列值的正弦值

使用plyr包中的numcolwise函数在数据框df中查找每列值的正弦值,即使某些列是分类变量:

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

更新于:2021年11月15日

191 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告