将不同的n长度元素附加到R中的向量
我试图将元素附加到来自for循环的向量中,并注意到一个不断弹出的将不同的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] *
错误。经过一些调查,我注意到这主要是因为第一个附加元素的长度为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)