我有一個很大的數據集,其中的變量用符號|**|
分隔。我試圖使用sep="|"
,但當包含|
的字符串變量之一不起作用。如何讓R用複合分隔符讀取數據?如何使R讀取數據由「| ** |」分隔
回答
(坦白說,我認爲這將是更容易的sed要做到這一點,這可能不是R中非常快。)
Lines <- readLines(filename)
sLines <- strsplit(Lines, "|**|", fixed=TRUE) # Thanks, Richie.
dat <- read.table(text= sapply(sLines, paste, collapse=",") ,sep=",")
這裏有一個簡單的datastring測試:
Lines <- "a|**|b|**|c\nd|**|e|**|f"
sLines <- strsplit(Lines, "\\|\\*\\*\\|")
dat <- read.table(text= sapply(sLines, paste, collapse=",") ,sep=",")
dat
#-----------
V1 V2 V3
1 a b c
2 d e f
strsplit
使用正則表達式模式,所以你需要雙倍逃脫「特價」。如果您在read.table調用中使用colClasses
,速度會更快。見?read.table
通過傳遞'fixed = TRUE',可以使'strsplit'在固定字符串而不是正則表達式上分裂。 –
我猜你的解決方案比'gsub('| ** |','
我不知道。您需要將固定參數設置爲TRUE才能獲得成功。 –
- 1. 如何讀取和排序僅由空格分隔的數據?
- 2. 如何導入由R/T分隔的R中的CSV數據?
- 3. 如何讀取R中的表,其中列由不等間隔分隔
- 4. 使用sscanf讀取由|分隔的數據
- 5. 如何分隔R中的數據列
- 6. 如何讀取由C中的符號分隔的sscanf整數?
- 7. 在VB6中讀取由行分隔的數據
- 8. 如何讀取來自TCP套接字的數據,並由特定的分隔符分隔
- 9. 批處理腳本讀取由分隔符分隔的文本
- 10. strsplit in R:如何將由逗號分隔的單列數據分成多列?
- 11. 如何讀取分隔R中的「::」的.dat文件
- 12. 如何在讀取數據時用逗號分隔逗號android
- 13. 如何從僅用空格分隔的一行讀取數據?
- 14. 如何用R讀取Cassandra的數據?
- 15. 如何從R讀取PDF元數據
- 16. 如何讀取由C++中的空格分隔的字符串?
- 17. 如何讀取由c:中的「:」分隔的兩個字符串
- 18. 如何讀取由新行分隔的正則表達式
- 19. 如何讀取由空格分隔的無符號字符c
- 20. 使用DATALINES讀取數據,並使用製表符分隔
- 21. 如何讀取使用scanf分隔空間的數字
- 22. 如何讀取R中製表符分隔的數據並立即從數據中創建矩陣?
- 23. 如何讀取逗號分隔值
- 24. 如何拆分R中沒有分隔符的列數據
- 25. 如何使用分號分隔符從MariaDB獲取數據
- 26. 閱讀製表符分隔的數據在與R
- 27. 用不同的分隔符將數據讀入R
- 28. R:用非規則分隔符讀入數據
- 29. 在Golang中讀取一組由空格分隔的整數
- 30. 閱讀由R中的空格分隔的單詞的向量
你是說你有沒有引號的字符串包含|在你的數據?請給出你的輸入的病理例子。 – Roland