重置r中变量的值,大数据集
我试图找到一种在另一个变量上编写新变量条件的简短方法。更具体地说,假设变量“x”的每个字母A到G有5个类别,即重置r中变量的值,大数据集,r,R,我试图找到一种在另一个变量上编写新变量条件的简短方法。更具体地说,假设变量“x”的每个字母A到G有5个类别,即A1、A2、…、A5、B1、B2、…、B5、…、G5,即总共35个类别,并希望在变量“x”上创建一个带有1到35个整数的新变量“y” 这就是我所做的 y <- revalue(df$x, c("A1"="1","A2"="2","A3"="3","A4"="4","A5"="5",
A1、A2、…、A5、B1、B2、…、B5、…、G5
,即总共35个类别,并希望在变量“x”上创建一个带有1到35个整数的新变量“y”
这就是我所做的
y <- revalue(df$x, c("A1"="1","A2"="2","A3"="3","A4"="4","A5"="5", "B1"="6","B2"="7","B3"="8","B4"="9","B5"="10",
"C1"="11","C2"="12","C3"="13","C4"="14","C5"="15",
"D1"="16","D2"="17","D3"="18","D4"="19","D5"="20", ...))
y评论摘要:
如果您的x
类别按照您希望的方式进行排序,请使用as.numeric(as.factor())
:
输出:
> df
x y z
1 A1 1 1
2 A2 2 2
3 A3 3 3
4 A4 4 4
5 A5 5 5
6 B1 6 6
7 B2 7 7
8 B3 8 8
9 B4 9 9
10 B5 10 10
11 C1 11 11
12 C2 12 12
13 C3 13 13
14 C4 14 14
15 C5 15 15
16 D1 16 16
17 D2 17 17
18 D3 18 18
19 D4 19 19
20 D5 20 20
21 E1 21 21
22 E2 22 22
23 E3 23 23
24 E4 24 24
25 E5 25 25
26 F1 26 26
27 F2 27 27
28 F3 28 28
29 F4 29 29
30 F5 30 30
31 G1 31 31
32 G2 32 32
33 G3 33 33
34 G4 34 34
35 G5 35 35
示例代码的对象类:
> sapply(df, class)
x y z
"factor" "numeric" "factor"
根据@Roland的规定,该代码应:
# create your data frame, note that the variable automatically becomes a factor.
df <- data.frame(x = sort(paste0(rep(LETTERS[1:7],5), 1:5)))
str(df)
# Returns the factor level as an integer
df$y <- as.integer(df$x)
#创建数据框时,请注意变量会自动成为一个因子。
df 2等。)什么是重估
和df
?请包括所有额外的包裹。还要添加所需的输出。查看car
包,特别是函数Recode()
as.integer(factor(df$x))
应该足够了,因为您需要对词汇排序的类别进行编码。@Roland您能更具体地说明如何编码吗?我是新来的国际扶轮不知道我如何能更具体,因为你可以从字面上复制我的代码,并使用它。
> sapply(df, class)
x y z
"factor" "numeric" "factor"
# create your data frame, note that the variable automatically becomes a factor.
df <- data.frame(x = sort(paste0(rep(LETTERS[1:7],5), 1:5)))
str(df)
# Returns the factor level as an integer
df$y <- as.integer(df$x)