我有一些由「」分隔的數據字符串需要拆分成列。是否有一種簡單的方法可以按每個第n個分隔符分割數據。例如,x中的第一個值告訴您,y中的前4個值對應於第一次試驗。 x中的第二個值告訴你,y中的下3個值對應於第二次試驗,依此類推。由可變分隔符strsplit
x <- c("4 3 3", "3 3 3 2 3")
y <- c("110 88 77 66 55 44 33 22 33 44 11 22 11", "44 55 66 33 22 11 22 33 44 55 66 77 88 66 77 88")
的目標是這樣的:
structure(list(session = 1:2, trial.1 = structure(1:2, .Label = c("110 88 77",
"44 55 66"), class = "factor"), trial.2 = structure(c(2L, 1L), .Label = c("33 22 11",
"66 55 44"), class = "factor"), trial.3 = structure(1:2, .Label = c("22 33 44",
"23 33 44"), class = "factor"), trial.4 = structure(c(NA, 1L), .Label = "55 66", class = "factor"),
trial.5 = structure(c(NA, 1L), .Label = "77 88 66", class = "factor")), .Names = c("session",
"trial.1", "trial.2", "trial.3", "trial.4", "trial.5"), class = "data.frame", row.names = c(NA,
-2L))
理想的情況下,與y無需任何額外的價值,從得到的數據幀被丟棄,並且不平坦排的長度應充滿NA的。
'strsplit(Y「,「)'然後用x元素的所得物的選擇結構,然後添加你自己的空間。 – 2012-07-06 22:12:55
你的意思是手動做嗎?我應該提到這是我真實數據的簡化版本。 – Jose 2012-07-06 22:51:12
您的結構陳述對我來說似乎很奇怪,您是否有一個特殊的R程序,您希望在清洗後運行,如果您不這樣做,我會建議與您建議的結構完全不同的結構。 – Seth 2012-07-07 00:53:19