【发布时间】:2019-04-11 14:15:42
【问题描述】:
我有一个这样的data.frame:
name value1 value2 value3
a 0.10 0.9 0.10
b 0.00 0.3 0.67
c 0.01 0.1 0.10
d 0.12 0.10 0.2
e 0.10 0.001 0.1
对于每一列“value*”我想,名字对应的值是0.10。换句话说,输出将是一个包含“名称”元素的三列数据框。我开始的想法是将“名称”与每个“值*”列绑定到子集,但没有成功:
for(i in 1:length(mydf)){
my_subset[[i]] = cbind(rownames(mydf), mydf[[i]])
}
“名称”列是 mydf 的行名。此外,我总共有 10.000 行和 45 列。
期望的输出:
name value1 value2 value3
a a NA a
b NA NA NA
c NA NA c
d NA d NA
e e NA NA
谁能帮帮我?我知道有一些“应用”函数可能可以完成这项工作,但我不得不学习如何使用 for 循环。
提前谢谢你
【问题讨论】:
-
你能发布你想要的输出吗?
-
我强调前面的评论,您可以像这样将行名添加为新列:
mydf$name_col <- rownames(mydf) -
0.1 等于 0.10 吗?!