将不同的n长度元素附加到R中的向量

将不同的n长度元素附加到R中的向量,r,vector,append,R,Vector,Append,我试图将元素附加到来自for循环的向量中,并注意到一个不断弹出的错误。经过一些调查,我注意到这主要是因为第一个附加元素的长度为1,第二个元素的长度大于1。下面是示例代码 我的问题是如何最好地处理这些时刻 示例代码: some_list[[1]] = 1 some_list[[2]] = 1:10 some_list[[3]] = 20:30 output = c() for (i in 1:lenth(some_list)){ output[[i]] = some_list[i] *

我试图将元素附加到来自for循环的向量中,并注意到一个不断弹出的
错误。经过一些调查,我注意到这主要是因为第一个附加元素的长度为1,第二个元素的长度大于1。下面是示例代码

我的问题是如何最好地处理这些时刻

示例代码:

some_list[[1]] = 1
some_list[[2]] = 1:10
some_list[[3]] = 20:30

output = c()
for (i in 1:lenth(some_list)){
    output[[i]] = some_list[i] * 10}

问题是输出被定义为字符向量而不是列表。请尝试以下方法:

some_list = list()
some_list[[1]] = 1
some_list[[2]] = 1:10
some_list[[3]] = 20:30

output = list()  # output should be a list
for (i in 1:length(some_list)){
    output[[i]] = some_list[[i]] * 10}

你的代码的问题是,有一次你使用
[
而不是
[[
。如果你尝试
输出[[i]]=some_list[[i]]*10
它应该可以正常工作。这似乎也不起作用。我还注意到,如果你运行
some_list=c();some_list[[1]=1;some_list[[2]]=1:10您得到了相同的错误。请添加您的预期输出。我希望输出为
output[[1]]=10;output[[2]]=c(10,20,30,…)
有什么问题吗@李哲源 '它给出了您的预期输出
lappy(一些列表,“*”,10)