我有一個來自非常大的數據集的數據子集。我將這個數據子集分成了一個數據框列表,這樣每個case/id就是列表中的一個獨立元素。每個元素都用case/id命名。然後,我從每個dataframe元素中刪除所有變量,只留下一個變量 - 稱爲「狀態」。它目前是7個級別的因素。將存儲在列表中的變量轉換爲r中的字符向量列表
我試圖將這個「狀態」元素列表變成一個字符向量列表。下面的元素是列表中的第一個元素,並且包含行號(源自更大的原始數據集)。
[[1]]
state
104246 active
104247 rest
104248 active
104249 active
.
.
.
104315 active
104316 active
104317 rest
104318 rest
我試圖把這個簡單地成應該是這樣的一個特徵向量:
[1] "active" "rest" "active" "active" ........... "active" "active" "rest" "rest"
這似乎很簡單。我曾嘗試做這樣的事情(其中「臨時」的列表名稱):
as.vector(as.matrix(temp))
這將返回是這樣的:
[,1]
id1 List,1
id2 List,1
id3 List,1
id4 List,1
當我看到每一個元素,從這個他們基本上看起來是仍然長存。
另外,我嘗試直接轉換爲字符:
as.vector(as.character(temp))
但是,這回來爲不理想的格式(不過,我想我可以破解這個的因子水平數轉換成的話.. (注意在大的數據集,有7個級別的因子「州」的)
[1] "list(state = c(1, 4, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 6, 1, 4, 4, 1, 1, 1, 4, 1, 1, 1, 6, 4, 1, 1, 1, 1, 1, 4, 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 4, 4))"
我還試圖使變量「狀態」,這是一個因素的字符變量轉換之前,但沒」 t help。
以下是一個可重現的例子的數據。它僅包含在這個例子中列表「臨時」兩個元素:
temp<-list(structure(list(state = structure(c(1L, 4L, 1L, 1L, 1L, 1L,
1L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 1L,
6L, 1L, 4L, 4L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, 6L, 4L, 1L, 1L, 1L,
1L, 1L, 4L, 4L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 4L, 4L), .Label = c("active", "active2", "active3", "rest", "rest2",
"stop", "stop2"), class = "factor")), .Names = "state", row.names = 104246:104318, class = "data.frame"),
structure(list(state = structure(c(1L, 4L, 4L, 4L, 1L, 1L,
1L, 4L, 4L, 4L, 4L, 1L, 4L, 4L, 4L, 1L, 1L, 6L, 4L, 1L, 4L,
4L, 4L, 1L, 4L, 1L, 1L, 1L), .Label = c("active", "active2",
"active3", "rest", "rest2", "stop", "stop2"), class = "factor")), .Names = "state", row.names = 950:977, class = "data.frame"))
str(temp)