read.csv将诸如“?”之类的列名字符替换为“.”,“-”替换为“`
我正在使用RStudio,控制台上的输出被截断。我找不到如何停止截断(我尝试搜索read.csv将诸如“?”之类的列名字符替换为“.”,“-”替换为“`,r,rstudio,names,read.csv,R,Rstudio,Names,Read.csv,我正在使用RStudio,控制台上的输出被截断。我找不到如何停止截断(我尝试搜索?选项,并在谷歌上搜索了比我愿意承认的时间更长的时间) 编辑:我向大家道歉!我最初的长名是“ThisisReallyReallyLongName”,但问题只是出现了“翻译服务信息-哪个翻译服务?”的长名。我想我找到了问题所在。..不是截断,而是用和替换未知字符,如?和- 代码 # Load File myfile <- read.csv(file="C:\\Users\\wliu\\Desktop\\myfil
?选项,并在谷歌上搜索了比我愿意承认的时间更长的时间)
编辑:我向大家道歉!我最初的长名是“ThisisReallyReallyLongName”,但问题只是出现了“翻译服务信息-哪个翻译服务?”的长名。我想我找到了问题所在。..
不是截断,而是用
和
替换未知字符,如?
和-
代码
# Load File
myfile <- read.csv(file="C:\\Users\\wliu\\Desktop\\myfile.csv",
sep=",", header=TRUE, stringsAsFactors=FALSE, skip=2)
# Get my column names
mycolnames <- colnames(myfile)
# When I request a shorter name, this returns the full name
mycolnames[1] # Assuming first col is a short name
[1] "ThisIsAShortName"
# However, when I request a longer name, this returns a truncated version
mycolnames[2] # Assuming second col is a really long name
[1] "ThisIsA...Long...Name"
那么:
options(width=300)
这是否解决了问题?这是read.csv
的预期行为,而不是R中的截断问题。当文件的列名中有空格和特殊字符时,read.csv
会用
替换它们,除非指定check.names=FALSE
下面我们来看一下make.names
,这就是read.table
生成列名的方式
nm <- "Translation Service Info - Which translation service?"
make.names(nm)
# [1] "Translation.Service.Info...Which.translation.service."
在RStudio中,使用以下菜单:
Tools>Global Options>code>Display
在控制台部分,将控制台中显示的行的长度设置为:
比当前设置的大得多
单击“确定”。嗯,我没有得到相同的结果。e、 g.名称(data.frame(ThisisReallyReallyLongName=1:10))
返回不受信任的name@Will不过,我无法测试它(因为我没有Rstudio),您是否使用最新版本的Rstudio。我无法在Mac版本0.98上复制。1091我也无法复制此版本。您是否可以包括文件中实际存储的列名(例如,myfile.csv
的一个小摘录)?名称是否确实被截断-即在读取数据时,名称中是否存在转换为点的特殊字符?问题最终成为我的特定文件的特殊字符。我举了一个很糟糕的例子(对不起),后来当我意识到我的错误时,我编辑了这个例子。我将对此进行升级,因为它将解决普通文件的截断问题。
nm <- "Translation Service Info - Which translation service?"
make.names(nm)
# [1] "Translation.Service.Info...Which.translation.service."
if (check.names)
col.names <- make.names(col.names, unique = TRUE)