我有3个向量:MRI
,MRI_high
,MRI_low
。 _low
和_high
的长度是第一个的一半。我的目标是将它们放在一个相同的元素中,这样我就可以进行迭代(我有一堆矢量遵循相同的格式)
当我写道:data.entry(MRI, MRI_high, MRI_low)
弹出一个窗口,我的数据排列成列并且长度正确,问题,我无法使用它。
当我使用MRI_vector <- data.frame(MRI, MRI_high, MRI_low)
时,函数通过复制较短的列表以某种方式给了我3个相等长度的元素。
这是什么解决方案?数据框的元素需要相同的长度吗?
此外,我尝试使用列表,但我的值不是数值
答案 0 :(得分:0)
一种选择是将它们放在list
中并使用NA填充以使length
s相等,然后转换为&data; frame.frame&#39;
lst <- mget(ls(pattern = "MRI.*"))
df1 <- data.frame(lapply(lst, `length<-`, max(lengths(lst))))
答案 1 :(得分:0)
我找到了解决问题的方法:
我使用了这个列表,然而,在计算统计数据时我使用as.numeric(unlist())
仍允许我迭代。
虽然对此有任何进一步的评论,但我还是要理解这种奇怪的数据框架行为!