如果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
广告