我必须从我不知道先验的数据框架中创建一个新的数据框架。
新的数据框应与旧的数据框具有相同的结构,但应为空。
例子
假设旧的数据帧如下:
> c1 = c(1,2,3)
> c2 = c("str1", "str2", "str3")
> c3 = c(3.2, 2.4, 5.6)
> m <- data.frame(c1,c2,c3)
> m
c1 c2 c3
1 1 str1 3.2
2 2 str2 2.4
3 3 str3 5.6
> names(m) <- c("var1", "var2", "var3")
> m
var1 var2 var3
1 1 str1 3.2
2 2 str2 2.4
3 3 str3 5.6
新的数据框应如下所示:
newDat <- data.frame("var1" = as.numeric(), "var2" = as.character(), "var3" = as.numeric())
关键是我不知道如何制作现有的数据帧(m)
只需从原始数据框中不取任何行即可:
> testDat = m[FALSE,]
该newDat
示例与您的示例稍有不同,因为我testDat
的因子列仍然具有原始因子的水平:
> str(testDat)
'data.frame': 0 obs. of 3 variables:
$ var1: num
$ var2: Factor w/ 3 levels "str1","str2",..:
$ var3: num
如果这不是问题,那么就完成工作;如果这是问题,那么您可能需要遍历变量并重置所有因素...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句