我有一个从包含数字和字符值的 .csv 文件中获取的数据框。我想将此数据框转换为矩阵。所有包含的信息都是数字(我删除的非数字行),因此应该可以将数据框转换为数字矩阵。但是,我确实得到了一个字符矩阵。
我发现解决这个问题的唯一方法是对as.numeric
每一行都使用,但这非常耗时。我很确定有一种方法可以用某种形式做到这一点if(i in 1:n)
,但我无法弄清楚它是如何工作的。或者是真正从数值开始的唯一方法,就像这里建议的那样(制作矩阵数字和名称顺序)?
对你们大多数人来说,这可能是一件非常容易的事情:P
矩阵要大得多,这只是前几行......这是代码:
cbind(
as.numeric(SFI.Matrix[ ,1]),
as.numeric(SFI.Matrix[ ,2]),
as.numeric(SFI.Matrix[ ,3]),
as.numeric(SFI.Matrix[ ,4]),
as.numeric(SFI.Matrix[ ,5]),
as.numeric(SFI.Matrix[ ,6]))
# to get something like this again:
Social.Assistance Danger.Poverty GINI S80S20 Low.Edu Unemployment
0.147 0.125 0.34 5.5 0.149 0.135 0.18683691
0.258 0.229 0.27 3.8 0.211 0.175 0.22329362
0.207 0.119 0.22 3.1 0.139 0.163 0.07170422
0.219 0.166 0.25 3.6 0.114 0.163 0.03638525
0.278 0.218 0.29 4.1 0.270 0.198 0.27407825
0.288 0.204 0.26 3.6 0.303 0.211 0.22372633
感谢您的任何帮助!