[英]Adding special column names to dataframe
我有數據框(可以說是 df)。 我有因子 f。 我想將此因子插入到 p[1], p[2]..., p[k] 其中 k 是整數正數。 因此,它們中的每一個都將成為數據框 df 中的新列。 數據框中的列名將保留為 p[1]、p[2]...、p[k]。
如何通過循環將 f 插入 p[1]..p[k] 中? 以及如何將它們全部添加為 df (數據框)的新列? 在每個新列中保留它們的編號很重要。 這是 df 的示例:
> df
var1 var2 var3
1 ac bc bc
2 bc bc cc
3 dc ec dc
4 gc gc gc
我有一個因素:
> f
[1] setosa setosa setosa versicolor
Levels: setosa versicolor
如果 k = 2 我希望 df 為:
> df
var1 var2 var3 p[1] p[2]
1 ac bc bc setosa setosa
2 bc bc cc setosa setosa
3 dc ec dc setosa setosa
4 gc gc gc versicolor versicolor
以下是您可以這樣做的方法:
for (i in 1:2) df[[sprintf("p[%i]", i)]] <- f
# var1 var2 var3 p[1] p[2]
#1 ac bc bc setosa setosa
#2 bc bc cc setosa setosa
#3 dc ec dc setosa setosa
#4 gc gc gc versicolor versicolor
當然,我想不出你需要這個的任何充分理由。 肯定有更好的方法來解決您的實際問題。
使用語法無效的名稱總是一個壞主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.