如何在 R 数据框中找到每列值的平方根,其中某些列是分类的?


要在 R 数据框中找到每列值的平方根,其中某些列是分类的,我们可以按照以下步骤操作:

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

  • 然后,使用 plyr 包中的 numcolwise 函数来找到每列值的平方根,其中某些列是分类的。

示例

创建数据框

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

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-sample(c(1,4,9,16,25,36,49,64,81,100),25,replace=TRUE)
DV2<-sample(c(1,4,9,16,25,36,49,64,81,100),25,replace=TRUE)
df<-data.frame(Level,Group,DV1,DV2)
df

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):

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

在某些列为分类的情况下,查找每列值的平方根

使用 plyr 包中的 numcolwise 函数在数据框 df 中查找每列值的平方根,其中某些列是分类的:

Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
DV1<-sample(c(1,4,9,16,25,36,49,64,81,100),25,replace=TRUE)
DV2<-sample(c(1,4,9,16,25,36,49,64,81,100),25,replace=TRUE)
df<-data.frame(Level,Group,DV1,DV2)
library(plyr)
numcolwise(sqrt)(df)

输出

   DV1 DV2
1   7  8
2   8  8
3   8  2
4   9  7
5   3  8
6   8  2
7   7  8
8  10  9
9   7  3
10  9  1
11  8  8
12  8  2
13  2  9
14 10  1
15  4  4
16  8  6
17  9  4
18  4  3
19  9  1
20 10  4
21  5  3
22  6  4
23 10  8
24  5  6
25  1  7

更新于:2021年11月9日

176 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告