当只需要一个元素[R]时,subseting by[]返回多个元素。为什么?
考虑一下1960年的公告牌热100 将数据集加载到[r]:当只需要一个元素[R]时,subseting by[]返回多个元素。为什么?,r,string,matrix,subset,R,String,Matrix,Subset,考虑一下1960年的公告牌热100 将数据集加载到[r]: initFile<-read.csv("Billboard Hot100 1960.csv", header = TRUE, sep = ",") 这大约是预期的三倍多的信息—我的印象是只应返回直接位于[1]行标识符右侧的字符串 进一步检查后,似乎initFile$Title[1]毕竟不是字符串 typeof(initFile$Title[1]) [1] "integer" 最后,强制元素使用字符返回所需的输出 as.char
initFile<-read.csv("Billboard Hot100 1960.csv", header = TRUE, sep = ",")
这大约是预期的三倍多的信息—我的印象是只应返回直接位于[1]行标识符右侧的字符串
进一步检查后,似乎initFile$Title[1]毕竟不是字符串
typeof(initFile$Title[1])
[1] "integer"
最后,强制元素使用字符返回所需的输出
as.character(initFile$Title[[1]])
[1] "Theme from A Summer Place"
为什么initFile$Title[1]首先不返回单个字符串元素?其他语言,如MATLAB,在元素访问例程中似乎更简洁——是否有一种更紧凑的方式来访问这些信息,而不需要提醒[r]它正在查看字符 r提醒您,您的数据不是字符串。这是一个因素。如果删除现有的冗余参数read.csv header=TRUE和sep=,这是默认值,并添加StringsAsAffactors=FALSE,您将得到您所期望的结果,但您可能需要先复习一些基本的R。至少看看?factor和?read.csv。
as.character(initFile$Title[[1]])
[1] "Theme from A Summer Place"