从包含元素和空格的单个字符串创建R数据帧
我有一根像这样的绳子从包含元素和空格的单个字符串创建R数据帧,r,string,dataframe,initializer,removing-whitespace,R,String,Dataframe,Initializer,Removing Whitespace,我有一根像这样的绳子 string <- "\n\t\t\t1,2\n\t\t\t3,4\n\t\t" 一种方法是使用strsplit函数,但它认为必须有更好的方法。 任何帮助都将不胜感激 您可以使用textConnection将字符串转换为行为有点像文件的东西,然后将其馈送到read.csv: > read.csv(textConnection(string),head=FALSE) V1 V2 1 1 2 2 3 4 3 NA NA 最后一个换行符后的零散选项卡会
string <- "\n\t\t\t1,2\n\t\t\t3,4\n\t\t"
一种方法是使用strsplit函数,但它认为必须有更好的方法。
任何帮助都将不胜感激 您可以使用
textConnection
将字符串转换为行为有点像文件的东西,然后将其馈送到read.csv
:
> read.csv(textConnection(string),head=FALSE)
V1 V2
1 1 2
2 3 4
3 NA NA
最后一个换行符后的零散选项卡会生成最后一行NA值,您需要以某种方式处理这些值。要去掉最后一行,
read.csv(text=trimws(“\n\t\t\t1,2\n\t\t\t3,4\n\t\t”),只需使用read.csv(text=string,header=FALSE)
因为它都被传递到read.table
,该表具有text=
参数。这将节省整整10个字符,你可以花在月饼和便士纸上。我认为textConnection
将是一个更通用的解决方案,可以应用于对象中的任何文本而不是文件中的任何位置。但是readr::read\u csv
会抱怨,因为它不是二进制的,并且没有text=
参数。。。。基地R ftw!
> read.csv(textConnection(string),head=FALSE)
V1 V2
1 1 2
2 3 4
3 NA NA