Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重置r中变量的值,大数据集_R - Fatal编程技术网

重置r中变量的值,大数据集

重置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",

我试图找到一种在另一个变量上编写新变量条件的简短方法。更具体地说,假设变量“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",                                                               "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)