R 这是否一个因素?
我想用R分析apache服务器的访问日志。我用来预处理数据,然后将其加载为csvR 这是否一个因素?,r,csv,type-conversion,R,Csv,Type Conversion,我想用R分析apache服务器的访问日志。我用来预处理数据,然后将其加载为csv rawdata <- read.csv("survey-log.csv") 我想,如果“主机”是一个因素,我可以用c(1:108)替换它的级别,就是这样。但问题是,这毕竟不是一个因素: > b <- c(rawdata["Host"]) is.factor(b) [1] FALSE str(b) List of 1 $ Host: Factor w/ 108 levels "::1",
rawdata <- read.csv("survey-log.csv")
我想,如果“主机”是一个因素,我可以用c(1:108)替换它的级别,就是这样。但问题是,这毕竟不是一个因素:
> b <- c(rawdata["Host"])
is.factor(b)
[1] FALSE
str(b)
List of 1
$ Host: Factor w/ 108 levels "::1","192.168.1.1",..: 1 1 1 1 1 1 1 1 1 1 ...
as.factor(b)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
>b如果有人知道为什么Markdown不关心块引号中的换行符,请修复。@Pop谢谢您的编辑。是什么使它起作用的?如果您尝试is.factor(rawdata[[“Host”]])
您将看到它是。使用单括号返回一列数据帧。使用双括号返回该列的内容(本例中是一个因子)。或者,使用$
访问此处,因此:是.factor(rawdata$Host)
。此外,请记住c
会删除所有属性。看看如果你做了c(系数(“a”))
会发生什么。
> b <- c(rawdata["Host"])
is.factor(b)
[1] FALSE
str(b)
List of 1
$ Host: Factor w/ 108 levels "::1","192.168.1.1",..: 1 1 1 1 1 1 1 1 1 1 ...
as.factor(b)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?