首先運行代碼options(stringsAsFactors=FALSE)
以防止字符串被自動轉換爲因素。這就是說,您提供的示例數據並不會導致字符串,所以我不確定您的實際數據是否有所不同。
您的數據:
df <- data.frame(group=c(1,1,1,3,2,3,2),
ID=c(23143,7273,5587,10982,9722,26994,6497))
newlist <- split.data.frame(df,df$group)
newlist <-lapply(newlist,`[[`,"ID")
class(newlist[[1]])
[1] "numeric"
一些字符串數據:
df2 <- data.frame(group=c(1,1,1,3,2,3,2),
ID=c("Joe","Sam","Rod","Mike","Steny","Larry","Chris"))
newlist2 <- split.data.frame(df2,df2$group)
newlist2 <-lapply(newlist2,`[[`,"ID")
class(newlist2[[1]])
[1] "factor"
隨着選項設置:
options(stringsAsFactors=FALSE)
df3 <- data.frame(group=c(1,1,1,3,2,3,2),
ID=c("Joe","Sam","Rod","Mike","Steny","Larry","Chris"))
newlist3<- split.data.frame(df3,df3$group)
newlist3 <-lapply(newlist3,`[[`,"ID")
class(newlist3[[1]])
[1] "character"