将数据帧列表转换为 R 中的数字向量列表
Convert list of dataframes to list of numeric vectors in R
我有一个数据帧列表 L
。 L
的元素(数据帧)未命名。每个元素仅包含一个变量 Var
(所有元素都相同)和一个观察值(跨元素唯一)。观察结果是随机列表 "numbers"。 L
的元素可能类似于::'data.frame': 1 obs. of 1 variable: $ Var: chr "\"4\", \"32\", \"25\", \"4\", "
。和 is.atomic(L[[1]]$Var)
returns TRUE
。我正在寻找一种将 L
转换为未命名数字向量列表的方法。最终结果应该是:
> L
[[1]]
[1] 4 32 25 4
现在我有:
> L
[[1]]
Var
1 "4", "32", "25", "4",
我已尝试 as.numeric
,但一直收到警告 NAs introduced by coercion
,结果与预期不符。显然我做错了什么。感谢您的帮助!
编辑:删除了 L
样本,因为它是不必要的。
从外观上看,您的字符串需要分隔和去除引号。它们也可能是因素。尝试这样的事情...
L <- list(data.frame(Var='"1","2","3","4"'),data.frame(Var='"3","4","5","6"'))
K <- lapply(L,function(df) as.numeric(gsub('"','',unlist(strsplit(as.character(df[1,1]),',')))))
我有一个数据帧列表 L
。 L
的元素(数据帧)未命名。每个元素仅包含一个变量 Var
(所有元素都相同)和一个观察值(跨元素唯一)。观察结果是随机列表 "numbers"。 L
的元素可能类似于::'data.frame': 1 obs. of 1 variable: $ Var: chr "\"4\", \"32\", \"25\", \"4\", "
。和 is.atomic(L[[1]]$Var)
returns TRUE
。我正在寻找一种将 L
转换为未命名数字向量列表的方法。最终结果应该是:
> L
[[1]]
[1] 4 32 25 4
现在我有:
> L
[[1]]
Var
1 "4", "32", "25", "4",
我已尝试 as.numeric
,但一直收到警告 NAs introduced by coercion
,结果与预期不符。显然我做错了什么。感谢您的帮助!
编辑:删除了 L
样本,因为它是不必要的。
从外观上看,您的字符串需要分隔和去除引号。它们也可能是因素。尝试这样的事情...
L <- list(data.frame(Var='"1","2","3","4"'),data.frame(Var='"3","4","5","6"'))
K <- lapply(L,function(df) as.numeric(gsub('"','',unlist(strsplit(as.character(df[1,1]),',')))))