我正在R区加载一个CSV
df = read.csv(path_to_df, sep = ",", header = TRUE)
samples = df$sample
str(samples)
字符串
当我运行这个脚本时,我得到两个不同的数据结构,这取决于我是从RStudio内部还是命令行执行它。
#From inside RStudio
chr [1:200] "sample1" "sample2" "sample3" ...
#From the command line
Factor w/ 200 levels "sample1",..: 3 4 2 1 78 77 76 75 74 73 ...
型
这种差异会在我的脚本后面产生一些问题。现在,我添加了一些带as.character
的磁带,以强制脚本始终将df$sample
读取为samples = as.character(df$sample)
我的问题是:为什么R为什么要这么做有没有一个标准的方法可以让R默认为字符?
2条答案
按热度按时间z4iuyo4d1#
您的命令行R版本可能在4.0.0之前。
因此,在2019年图卢兹的R Core会议上,决定默认使用stringsAsFactors = FALSE,理想情况下从4.0.0版本开始。
htrmnn0y2#
根据注解,只需显式添加
stringsAsFactors
参数字符串