R将具有不同大小元素的列表转换为数据帧,并统计不同/唯一的行
如何将下面的列表转换为data.frame?在按升序对每个元素进行排序后,我想计算该列表中的唯一元素。我计划将列表转换为data.frame,对每行进行排序,然后应用distinct() 在这种情况下,我希望答案是3,因为当我按升序排序时,每个元素3和4都是相同的 我更喜欢R基函数R将具有不同大小元素的列表转换为数据帧,并统计不同/唯一的行,r,list,R,List,如何将下面的列表转换为data.frame?在按升序对每个元素进行排序后,我想计算该列表中的唯一元素。我计划将列表转换为data.frame,对每行进行排序,然后应用distinct() 在这种情况下,我希望答案是3,因为当我按升序排序时,每个元素3和4都是相同的 我更喜欢R基函数 abcd=list() abcd[[1]]=c(1,2) abcd[[3]]=c(1,2,3) abcd[[4]]=c(3,2,1) > abcd > as.data.frame(abcd) Error
abcd=list()
abcd[[1]]=c(1,2)
abcd[[3]]=c(1,2,3)
abcd[[4]]=c(3,2,1)
> abcd
> as.data.frame(abcd)
Error in data.frame(c(1, 2), NULL, c(1, 2, 3), check.names = TRUE, stringsAsFactors = TRUE) :
arguments imply differing number of rows: 2, 0, 3
> as.matrix(abcd)
[,1]
[1,] Numeric,2
[2,] NULL
[3,] Numeric,3
您可以使用
length
+unique
+sort
,如下所示:
length(unique(lapply(abcd, sort)))
# [1] 3
# Warning message:
# In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
警告是由于NULL
元素引起的。可以使用suppressWarnings
来抑制它:
suppressWarnings(length(unique(lapply(abcd, sort))))
# [1] 3
您可以使用length
+unique
+sort
,如下所示:
length(unique(lapply(abcd, sort)))
# [1] 3
# Warning message:
# In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
警告是由于NULL
元素引起的。可以使用suppressWarnings
来抑制它:
suppressWarnings(length(unique(lapply(abcd, sort))))
# [1] 3
您可以使用length
+unique
+sort
,如下所示:
length(unique(lapply(abcd, sort)))
# [1] 3
# Warning message:
# In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
警告是由于NULL
元素引起的。可以使用suppressWarnings
来抑制它:
suppressWarnings(length(unique(lapply(abcd, sort))))
# [1] 3
您可以使用length
+unique
+sort
,如下所示:
length(unique(lapply(abcd, sort)))
# [1] 3
# Warning message:
# In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
警告是由于NULL
元素引起的。可以使用suppressWarnings
来抑制它:
suppressWarnings(length(unique(lapply(abcd, sort))))
# [1] 3
或者如果你想要一个数据帧
data.frame(table(unlist(abcd)))
Var1 Freq
1 1 2
2 2 2
3 3 1
或者如果你想要一个数据帧
data.frame(table(unlist(abcd)))
Var1 Freq
1 1 2
2 2 2
3 3 1
或者如果你想要一个数据帧
data.frame(table(unlist(abcd)))
Var1 Freq
1 1 2
2 2 2
3 3 1
或者如果你想要一个数据帧
data.frame(table(unlist(abcd)))
Var1 Freq
1 1 2
2 2 2
3 3 1
您想要的输出是什么?我想计算列表中唯一的元素。我仍然不太明白您想要的是什么。可能只是长度(唯一(abcd))
?@AnandaMahto抱歉搞混了。我已经澄清了我的观点question@Jota,在此处使用粘贴
和折叠
不是一个好主意,因为可能存在需要小心的边缘情况。另外,没有必要做所有的粘贴和取消列表。你想要的输出是什么?我想计算列表中唯一的元素。我仍然不太明白你想要什么。可能只是长度(唯一(abcd))
?@AnandaMahto抱歉搞混了。我已经澄清了我的观点question@Jota,在此处使用粘贴
和折叠
不是一个好主意,因为可能存在需要小心的边缘情况。另外,没有必要做所有的粘贴和取消列表。你想要的输出是什么?我想计算列表中唯一的元素。我仍然不太明白你想要什么。可能只是长度(唯一(abcd))
?@AnandaMahto抱歉搞混了。我已经澄清了我的观点question@Jota,在此处使用粘贴
和折叠
不是一个好主意,因为可能存在需要小心的边缘情况。另外,没有必要做所有的粘贴和取消列表。你想要的输出是什么?我想计算列表中唯一的元素。我仍然不太明白你想要什么。可能只是长度(唯一(abcd))
?@AnandaMahto抱歉搞混了。我已经澄清了我的观点question@Jota,在此处使用粘贴
和折叠
不是一个好主意,因为可能存在需要小心的边缘情况。而且,没有必要进行所有的粘贴和取消列表。