R将非数字列转换为数字列的帮助

R将非数字列转换为数字列的帮助,r,dataframe,type-conversion,R,Dataframe,Type Conversion,我正试图帮助我的朋友,销售总监,了解他记录的通话数据。他特别感兴趣的一个专栏是“性格”。此列有字符串值,我正在尝试将它们转换为数值(即“未应答”转换为1,“应答”转换为2,等等),并删除未输入值的任何行。我已经创建了数据帧,用作.numeric,创建和删除了列/行等,但都没有用。我只是试着运行简单的R代码给他一些见解。非常感谢您的任何帮助。提前谢谢 另外,由于存在大量微妙的信息(个人电话号码和电子邮件),我不确定是否应该提供一些代码。首先:您应该始终提供具有代表性的样本数据;如果您的数据本质上是

我正试图帮助我的朋友,销售总监,了解他记录的通话数据。他特别感兴趣的一个专栏是“性格”。此列有字符串值,我正在尝试将它们转换为数值(即“未应答”转换为1,“应答”转换为2,等等),并删除未输入值的任何行。我已经创建了数据帧,用作.numeric,创建和删除了列/行等,但都没有用。我只是试着运行简单的R代码给他一些见解。非常感谢您的任何帮助。提前谢谢

另外,由于存在大量微妙的信息(个人电话号码和电子邮件),我不确定是否应该提供一些代码。

首先:您应该始终提供具有代表性的样本数据;如果您的数据本质上是敏感的,请提供模型数据

除此之外,要将
字符
向量重新编码为
数值
,可以将其转换为
因子
,然后使用
作为.numeric
。例如:

# Sample data
column <- c("Not Answered", "Answered", "Something else", "Others")

# Convert character vector to factor
column <- factor(column, levels = as.character(unique(column)))

# Convert to numeric
as.numeric(column);
#[1] 1 2 3 4
#示例数据

列或者,您可以创建一个新列,并使用
ifelse
语句用数值填充它。为了举例说明,我们假设这是您的数据帧:

df <- data.frame(
  Disposition = c(rep(c("answer", "no answer", "whatever", NA),3)),
  Anything = c(rnorm(12))
)
df

   Disposition    Anything
1       answer  2.54721951
2    no answer  1.07409803
3     whatever  0.60482744
4         <NA>  2.08405038
5       answer  0.31799860
6    no answer -1.17558239
7     whatever  0.94206106
8         <NA>  0.45355501
9       answer  0.01787330
10   no answer -0.07629330
11    whatever  0.83109679
12        <NA> -0.06937357

我想你应该看看
?系数
。否则,构建一个查找表(作为命名向量)。也许值得一读。除此之外,请提供一个可复制的示例。否则,可能很难提供帮助。如果无法共享实际数据,您可能会将一些虚拟数据放在一起。一些可用于生成假数据的包:,
df$Analysis <- ifelse(df$Disposition=="no answer", 1,
                      ifelse(df$Disposition=="answer", 2, 3))
df

      Disposition    Anything Analysis
1       answer  2.54721951        2
2    no answer  1.07409803        1
3     whatever  0.60482744        3
4         <NA>  2.08405038       NA
5       answer  0.31799860        2
6    no answer -1.17558239        1
7     whatever  0.94206106        3
8         <NA>  0.45355501       NA
9       answer  0.01787330        2
10   no answer -0.07629330        1
11    whatever  0.83109679        3
12        <NA> -0.06937357       NA
df_clean <- na.omit(df)
df_clean

   Disposition    Anything Analysis
1       answer  2.5472195        2
2    no answer  1.0740980        1
3     whatever  0.6048274        3
5       answer  0.3179986        2
6    no answer -1.1755824        1
7     whatever  0.9420611        3
9       answer  0.0178733        2
10   no answer -0.0762933        1
11    whatever  0.8310968        3