2017-09-23 365 views
0

我有一個名稱的文本文件,用逗號分隔,並且我想將它讀入R(數據框或向量都很好)中的任何內容。我嘗試了read.csv,它只是將它們作爲單獨列的標題讀取,而不是0行數據。我嘗試header = FALSE,並將它們作爲單獨的列讀入。我可以用這個工作,但我真正想要的是一列只有一堆行,每個名稱一列。例如,當我嘗試打印此數據框時,它會打印出所有無效的列標題,然後不打印這些值。它似乎應該很容易使用,但在我看來,一列名稱更容易處理。從CSV讀取名稱列表到R

+0

沒有看到文件很難說。也許這些數據不是表格形式,而是用逗號分隔的一系列長字符串。如果是這種情況,請嘗試'掃描(what ='character'等)'。 (先用文本編輯器檢出文件。) –

+0

@RuiBarradas是的,就是這樣。這是一串由逗號分隔的長串字符串。我試圖將其作爲一列閱讀,儘管這似乎不是R的默認行爲。 – Graphth

+0

如果是這種情況,我會嘗試'dat < - scan(file = your_filename,what ='character', sep =',')'。 –

回答

2

由於OP問我,我會發布以上評論作爲一個答案。
這非常簡單,它來自於使用scan來讀取數據,數字或字符序列中的一些練習。

dat <- scan(file = your_filename, what = 'character', sep = ',') 
1

您可以使用read.csv讀字符串作爲標題,但後來只提取用戶名(使用names),並把它變成data.frame

data.frame(x = names(read.csv("FILE"))) 

例如:

write.table("qwerty,asdfg,zxcvb,poiuy,lkjhg,mnbvc", 
      "FILE", col.names = FALSE, row.names = FALSE, quote = FALSE) 
data.frame(x = names(read.csv("FILE"))) 

     x 
1 qwerty 
2 asdfg 
3 zxcvb 
4 poiuy 
5 lkjhg 
6 mnbvc 
1

類似的東西?

做一些測試數據:

# test data 
list_of_names <- c("qwerty","asdfg","zxcvb","poiuy","lkjhg","mnbvc") 
list_of_names <- paste(list_of_names, collapse = ",") 

list_of_names 

# write to temp file 
tf <- tempfile() 
writeLines(list_of_names, tf) 

你需要這個部分:

# read from file 
line_read <- readLines(tf) 
line_read 

list_of_names_new <- unlist(strsplit(line_read, ","))