Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
read.csv将诸如“?”之类的列名字符替换为“.”,“-”替换为“`_R_Rstudio_Names_Read.csv - Fatal编程技术网

read.csv将诸如“?”之类的列名字符替换为“.”,“-”替换为“`

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

我正在使用RStudio,控制台上的输出被截断。我找不到如何停止截断(我尝试搜索
?选项
,并在谷歌上搜索了比我愿意承认的时间更长的时间)

编辑:我向大家道歉!我最初的长名是“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)