[英]Way to convert a list of dataframes to a list of character vectors in r?
[英]Convert structure of columns in list of dataframes to character in R
我正在創建一個空的數據幀列表,稍后我將使用 lapply 將其 append
library(tidyverse)
library(dplyr)
library(purrr)
my.list <- lapply(1:192, function(x, nr = 468, nc = 1) { data.frame(symbol = matrix(nrow=nr, ncol=nc)) })
str(my.list)
如果您獲得 my.list 的結構,您會注意到每個 dataframe 中的列結構是“邏輯的”。 我希望每個 dataframe 中的列結構是字符而不是邏輯。
我可以在上面的 lapply function 中更改任何內容,以便生成的數據幀列表中的列是字符嗎? 或者我將如何最好地完成這項任務? 我正在創建這個空的數據幀列表,因為我知道 R 如果不必經常使用 append 文件,它的工作速度會更快。 因此,我的下一步是執行 map function 以使用字符數據填充此數據幀列表中的每個 dataframe。
問題是通過創建NA
,默認情況下它是NA_logical_
。 如果我們想創建一個字符列,請使用NA_character_
。 在這里,我們可以修復
my.list <- lapply(my.list, function(x) {x[] <- lapply(x, as.character); x})
或者在創建data.frame
列時,使用
my.list <- lapply(1:192, function(x) data.frame(symbol = rep(NA_character_, 468)))
獲取單列data.frame
的matrix
路徑並不理想,有時也不正確(因為matrix
只能有一個 class 而data.frame
列可以是不同的類型)。 最簡單的選擇是將rep
NA_character_
n
次以創建具有n
行的單列data.frame
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.