我正在使用R&#39 closeness_w
tnet
的{{1}}功能。{/ p>
我有两个数据框df1
和df2
。当我为每个数据帧计算closeness_w
时,R保留列i中的唯一ID(并将其重命名为" node")。输出显示" closeness"和" n.closeness"结果
但是,如果我对mylist
数据帧执行此操作,则R会删除i列,并且不会显示" n.closeness"结果。对于mylist
,我正在尝试获取"节点"," closeness"和" n.closeness"结果就像我在每个数据帧上进行计算时得到它们一样。
有人知道怎么做吗?
df1
i <- c(1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 6)
j <- c(2, 3, 1, 3, 4, 5, 1, 2, 2, 2, 6, 5)
w <- c(4, 2, 4, 4, 1, 2, 2, 4, 1, 2, 1, 1)
df1 <- data.frame(i, j, w)
closeness_w(df1)
df2
i <- c(1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7)
j <- c(2, 3, 4, 3, 7, 5, 1, 6, 2, 2, 1, 5)
w <- c(4, 2, 4, 4, 1, 2, 2, 4, 1, 2, 1, 1)
df2 <- data.frame(i, j, w)
closeness_w(df2)
mylist
mylist <- list(df1, df2)
mylist_output <- lapply(mylist, function(x) closeness_w(x)[, "closeness", drop = FALSE])
mylist_output
答案 0 :(得分:1)
当你这样做时
mylist_output <- lapply(mylist, function(x) closeness_w(x)[, "closeness", drop = FALSE])
您指定只返回data.frame
列,其中包含&#39; closeness&#39;。如果您想保留所有列,只需执行以下操作:
mylist_output <- lapply(mylist, function(x) closeness_w(x))
或
mylist_output <- lapply(mylist,closeness_w)
希望这有帮助。