转换R闪亮中上传数据的特定列的数据类型

时间:2018-05-09 05:47:22

标签: r shiny

我上传了一个data.frame,并且还从用户那里获得了其数据类型需要使用R shiny更改为factor的列的名称。我无法将用户特定列转换为特定数据类型。我该怎么做?另外,我如何检查列是否已转换为所需的数据类型?

2 个答案:

答案 0 :(得分:0)

我也不确定你到底想要什么,但也许这段代码片段可以帮到你:

df <- as.data.frame(cbind(
  rep(1, 10),
  rep("1", 10),
  rep("a", 10)
))
colnames(df) <- c("col1","col2","col3")
str(df)

这将创建一个data.frame,其中所有列都是因子。 要更改列的类型,只需更改它:)

df$col1 <- as.numeric(df$col1)
df$col3 <- as.character(df$col3)
str(df)

这会将第一列更改为数值,将最后一列更改为字符。

要将第一列更改回您将使用的因素:

df$col1 <-as.factor(df$col1)
str(df)

要测试列是否是您可以使用的因素:

is.factor(df$col1)

答案 1 :(得分:0)

我找到了解决问题的方法。
让我重新解释一下我的问题,我有一个数据框(df),其中有三列名为col1,col2和col3。这是我面临的挑战,我从用户 (R闪亮界面) 获取列名作为字符向量并将其分配给变量说
          MyCol&lt; - “col1”
现在我想将数据框(df)中的col1 的数据类型转换为因子(即col1数据类型as.factor)
当我执行功能
df $ MyCol&lt; - as.factor(df $ MyCol)时,我收到错误,但我知道我需要这样做是为了转换我的列的数据类型
df [,MyCol]&lt; - as.factor [,MyCol]

这对我有用。 : - )