r - 在循环中创建新的数据框
问题描述
我得到了一个包含三列的原始数据框df :
"Person","start","end",其中start和end采用 "%d.%m.%Y %H:%M:%S" 格式。
head(df)
1 Mark 06.08.2019 00:02:56 06.08.2019 00:14:43
5 Mark 06.08.2019 00:16:31 06.08.2019 00:20:53
6 Vince 06.08.2019 00:18:28 06.08.2019 00:24:30
7 Kate 06.08.2019 00:20:26 06.08.2019 00:23:29
8 Mark 06.08.2019 00:26:34 06.08.2019 00:32:41
9 Vince 06.08.2019 00:31:13 06.08.2019 00:33:14
人具有独特的价值:
people<-unique(df$Person)
people=[Mark,Kate, Vince]
所以我的目标是为这些人制作 3 个独立的数据框。我正在尝试这个:
for (a in people){
assign(paste("df.", a, sep = ""), subset(a,a[start],a[end]))
}
因为start和end是原子向量
(is.atomic(...))
但我收到一条错误消息:
Error in subset.default(a,a[start],a[end]) :
object 'start' not found
我想知道如何为每个具有与原始 DF 数据帧相同列的人分离df s?
解决方案
您可以将原始数据框拆分为数据框列表:
df_split <- split(df,f= df$Person)
然后,您可以使用例如访问每个数据框df[["Mark"]]
。那对你有用吗?
推荐阅读
- python - Creating new columns from the values of another column
- javascript - 如何以角度突出显示文本输入占位符中的文本?
- angular - 从角度的发布请求中获取数据
- react-native - 反应原生 | 'TouchableOpacity' 的最佳替代品是什么?
- r - r 计算数据框中多个变量的综合得分和 cronbach 的 alpha 并将它们添加为列
- java - How to Split a logical expression on operators as delimiters, while keeping them in the result?
- jquery - Jquery Validation Plugin 在 Chrome 中工作,但在 Mozilla 中不工作
- php - How to show all files from DB horizontaly using php?
- c# - 如何读取 C++ SAFEARRAY**,它是 C# 返回值为 byte[] 的 COM 互操作的结果?
- firebase - 在 null 上调用了 getter 'email'