R中的字符向量转换为数据帧中的因子

时间:2015-01-31 16:13:06

标签: r

我正在编写一个能够读取CSV文件并构建R数据帧的函数。这个数据框有47列,我试图根据名为" State"的列之一拆分这个数据框。我从这个数据框中提取第2和第17列并构建一个新的数据框。当我从父数据框中提取时,这些列的类是character。但是当我从这些列创建一个新数据框时,我看到这两列的类被报告为factor。我的问题是这两个

  1. 这是预期的吗?我不是退伍军人,我相信这不应该发生。我通过创建带有characternumeric向量的小数据框来运行一些本地检查,并且当我再次运行检查时保留了类
  2. 如果没有预料到这一点,请你帮我弄清楚导致这些改变的原因是什么?
  3. 附上我写的代码

    rankhospital <- function(state) {
        ## Read outcome data
        data_frame <- read.csv("outcome-of-care-measures.csv", colClasses = "character")
    
        ## Return hospital name in that state with the given rank
        ## 30-day death rate
        state_split <- split(data_frame, data_frame$State)
        state_data <- state_split[[state]]
        hospital_name <- state_data[[2]]
        outcome_state <- state_data[[17]]
        print(class(hospital_name))
        print(class(outcome_state))
        r_data_frame <- data.frame(outcome_state, hospital_name)
        r_data_frame <- subset(r_data_frame, outcome_state != "Not Available")
        print(class(r_data_frame[[1]]))
        print(class(r_data_frame[[2]]))
    }
    

    附加必要函数的输出调用

    > frame <- rankhospital("TX")
    [1] "character"
    [1] "character"
    [1] "factor"
    [1] "factor"
    

0 个答案:

没有答案